JAVASCRIPT如何 *** 作数据库

JAVASCRIPT如何 *** 作数据库,第1张

方法和详细的 *** 作步骤如下:

1、第一步,打开HBuilder工具,并在Web项目的js文件夹中创建一个新的JavaScript文件ConnDBjs,使用require()引入mysql模块,然后将该值分配给变量mysq,见下图,转到下面的步骤。

2、第二步,完成上述步骤后,调用createConnection()方法设置主机,用户名,密码,端口并返回数据,见下图,转到下面的步骤。

3、第三步,完成上述步骤后,调用mysql模块中的connect()方法以连接到mysql数据,见下图,转到下面的步骤。

4、第四步,完成上述步骤后,编写查询语句SQL并将其作为字符串分配给变量sq,见下图,转到下面的步骤。

5、第五步,完成上述步骤后,调用query(),根据返回值判断结果,然后打印返回,见下图。这样,就解决了这个问题了。

以连接ORACLE数据库为例:

//创建数据库连接对象

var conn = new ActiveXObject("ADODBConnection");

//创建数据集对象

var rs = new ActiveXObject("ADODBRecordset");

try{ 

//如果不知道如何配置连接串,可以通过配置UDL文件后用文本编辑器打开获得 

var connectionstring = "Provider=OraOLEDBOracle1;Password=pwd;Persist Security Info=True;User ID=username;Data Source=ORA";  

//打开连接 

connopen(connectionstring);

//查询语句 

var sql = " select  from tb_col ";  

//打开数据集(即执行查询语句) 

rsopen(sql,conn);  

//遍历所有记录 

while(!rseof){

  //WScript是Windows 的脚本宿主对象,详细情况请在windows帮助里查找。  

  //WScriptEcho输出记录的内容  

  WScriptEcho(rsFields("id") + "\t" + rsFields("name") + "\n");  

  //下一条记录  

  rsmoveNext(); } 

  //关闭记录集 

  rsclose(); 

  //关闭数据库连接 

  connclose();} catch(e){ 

  //异常报告 

  WScriptEcho(emessage);} finally{ 

  }

数据库连接串,具体配置请参考:>

<script language=javascript>

function replace(v)

{

//定义SQL语句

var sql = "select from Dictionary where MainID='" + v + "'" ;

//新建数据库连接对象和数据集存取对象

var ConnDB = new ActiveXObject("adodbconnection");

var rs = new ActiveXObject("ADODBRecordset");

//这里填入要连接的DSN

ConnDBConnectionString="DSN=;uid=;pwd=";

ConnDBopen

rsopen(sql,ConnDB,1,1);

if (rsRecordCount>0){

if (v==parseInt(rs("MainID"))){

//字符串连接

documentall('txt')value = v + rs("MainValue");

var sql=null;

rsclose

ConnDBclose

return;

} else {

var sql=null;

alert("没有此代号!");

txtselect();

txtfocus();

rsclose

ConnDBclose

}

}

</script>

<input type=text id=txt name=txt onblur="replace(thisvalue)">

js是无法直接读取数据库中的数据,但是可以用服务器端脚本与js搭配使用。

如:

<% String testStr = "HelloJava";%>

<script>

alert('<%=testStr%>');

</script>

因为服务端脚本是先运行的,Js是后运行在客户端的。

所以可以先用服务端脚本读取数据库数据 然后放到js里再运行

JS只能连本地数据库,实现你那个功能是AJAX,但那不是纯粹的JS连数据库了,应该说JS连服务器,服务器中的代码替你去取得相应的数据,而且你认为直接用JS连接数据库是件安全的事情吗?直接暴露数据库地址~~~

我知道 ie 怎么连接,别的浏览器不行。首先先去mysql官网下载个 odbc 然后安装,安装完再去控制面板找到“管理工具”--》“(ODBC)数据源”--》(如果是在自己电脑上测试就选

“用户DSN”,如果想被别人访问就选“系统DSN”) 然后添加mysqlodbc,然后把驱动的名字记下来(不是你起的名字,是后面自带的名字!),准备工作做完,我们就可以通过代码访问数据库了。(注:我第一次安装ODBC,用js调用时提示我未知数据源一类的话,卸载ODBC后再次安装ODBC就正常了) 用 ie 先调用odbc驱动 然后 *** 作mysql,话不多说,上代码!

//创建数据库连接对象

var conn = new ActiveXObject("ADODBConnection");

//创建数据集对象

var rs = new ActiveXObject("ADODBRecordset");

try{

//MySQL ODBC 53 ANSI Driver 这个就是我刚才说让你记得驱动的名字

var connectionstring = "Driver={MySQL ODBC 53 ANSI Driver};Server=127001;User=root;Password=root;Database=mysql;Option=3;Port=3306";

consolelog(connectionstring);

//打开连接

connopen(connectionstring);

//查询语句

var sql = " select from table1 ";

//打开数据集(即执行查询语句)

rsopen(sql,conn);

//(或者rs=connexecute(sql);)

//遍历所有记录

while(!rseof){

//WScript是Windows 的脚本宿主对象,详细情况请在windows帮助里查找。

//WScriptEcho输出记录的内容

documentwrite(rsFields("id") + "\t" + rsFields("name") + "\n");

//下一条记录

rsmoveNext();

}

//关闭记录集

rsclose();

//关闭数据库连接

connclose();

} catch(e){

//异常报告

documentwrite(emessage);

} finally{

//

}

javascript 在本地安全域内是可以直接 *** 作数据库的,但也仅仅局限于本地访问。由于脚本的跨域安全限制,要远程访问是不可能的。

如果使用服务端语言,如asp,是可以使用javascript 作为 动态语言来编写数据库访问代码的。

<script language="javascript" runat="server">

var conn = new ActiveXObject("ADODBConnection");

connOpen("Provider=SQLOLEDB1; Data Source=localhost; User ID=sa; Password=changemenow; Initial Catalog=pub");

var rs = new ActiveXObject("ADODBRecordset");

var sql="select id from authors";

rsopen(sql, conn);

var word="";

while(!rsEOF)

{

word+=rs("id")

}

documentwrite(word);

rsclose();

rs = null;

connclose();

conn = null;

</script>

语法上遵循javascript,就可以进行任何 *** 作了。

以上就是关于JAVASCRIPT如何 *** 作数据库全部的内容,包括:JAVASCRIPT如何 *** 作数据库、js 如何连接数据库、js调用数据库里面的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10084541.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存