js访问数据库

一、js访问数据库的一般步骤:

1、 创建一个到数据库的 ADO 连接

conn = new ActiveXObject("ADODB.Connection");

2、 打开数据库连接

conn.open(ConnectionString, 'sa', 'password', -1);

3、 创建 ADO 记录集

rs = new ActiveXObject("ADODB.Recordset");

4、 从记录集提取您需要的数据

 

rs.Open(sql, conn);
var tempstr = "";
while (!rs.EOF) {
    tempstr += rs.Fields("Id") + " " + rs.Fields("Name");
    rs.moveNext(); //移动向下一个记录
}
alert(tempstr)

 

5、关闭记录集

rs.close();

6、 关闭连接

conn.close();

二、ADO对象:

1、Connection

Connection 对象用于创建一个到达某个数据源的开放连接。通过此连接,您可以对一个数据库进行访问和操作。

创建

conn =new ActiveXObject("ADODB.Connection");

方法

<1>打开一个连接 

conn.open(ConnectionString, UserID, Password,Options);

ConnectionString :通过传递包含一系列由分号分隔的 argument = value 语句的详细连接字符串可指定数据源。

<2>关闭一个连接

conn.close();

<3>执行查询、SQL 语句、存储过程或 provider 具体文本。

conn.Execute(CommandText, RecordsAffected, Options)

CommandText: 字符串,包含要执行的 SQL 语句、表名、存储过程或特定提供者的文本。

RecordsAffected:可选,长整型变量,提供者向其返回操作所影响的记录数目。

Options:可选,长整型值,指示提供者应如何计算 CommandText 参数,

2、Recordset

Recordset 对象用于容纳一个来自数据库表的记录集。一个 Recordset 对象由记录和列(字段)组成。

创建

rs = new ActiveXObject("ADODB.Recordset");

属性

<1>BOF

如果当前的记录位置在第一条记录之前,则返回 true,否则返回 fasle。

<2>EOF

如果当前记录的位置在最后的记录之后,则返回 true,否则返回 fasle。

<3>RecordCount

返回一个 Recordset 对象中的记录数目。

方法

<1>打开一个数据库元素 

rs.open(Source, ActiveConnection, CursorType, LockType, Options);

Source :可选, Command 对象的变量名、SQL 语句、表名、存储过程调用或持久 Recordset 文件名。

ActiveConnection:可选,有效 Connection 对象变量名;或字符串,包含 ConnectionString 参数。

CursorType :  可选,CursorTypeEnum 值,确定提供者打开 Recordset 时应该使用的游标类型。

LockType :  可选。确定提供者打开 Recordset 时应该使用的锁定(并发)类型的 LockTypeEnum 值。

Options :可选,用于指示提供者如何计算 Source 参数(如果它代表的不是 Command 对象),或从以前保存 Recordset 的文件中恢复 Recordset。

<2>关闭一个 Recordset。

rs.close();

<3>把多条记录从一个 Recordset 对象中拷贝到一个二维数组中

rs.GetRows(Rows, Start, Fields)

Rows:可选,指定要检索记录数。不指定时将自动检索 Recordset 对象中的所有记录。

Start:可选,字符串或长整型,计算得到在 GetRows 操作开始处的记录的书签。

Fields :可选,代表单个字段名、顺序位置、字段名数组或顺序位置,ADO 仅返回这些字段中的数据。

<4>将 Recordset 作为字符串返回。

rs.GetString()

三、ConnectionString

包含用于建立连接数据源的信息。

ADO 支持的参数如下(任何其他参数将直接传递到提供者而不经过 ADO 处理) 

Provider=

 

File Name=

指定包含预先设置连接信息的特定提供者的文件名称(例如,持久数据源对象)。

Remote Provider=

指定打开客户端连接时使用的提供者名称。(仅限于远程数据服务)

Remote Server=

指定打开客户端连接时使用的服务器的路径名称。(仅限于远程数据服务)

var ConnectionString = 'Provider=SQLOLEDB.1;Persist Security Info=True;Initial Catalog=HZYL_QZJ;Data Source=192.168.0.5;Connect Timeout=5;Use Procedure  for Prepare=1';

posted @ 2016-10-21 14:23  SQP51312  阅读(11892)  评论(0编辑  收藏  举报