<%
...
var connStr=""Provider=SQLOLEDB; Data Source=localhost; Initial Catalog=jiaojingdb; User ID=sa; Password=123456;"
var conn= Server.CreateObject("ADODB.Connection");//定义conn的目的是可以提高效率,以后close(),但物理连接还存在,效率高。
conn.open(connStr);
//**通过Connection对象调用存储过程**
var rs = Conn.Execute("getUserList",0,4) '最后一个参断含义同CommandType
//实体中:
while(!rs.EOF){
Response.Write("<br>"+rs("title");
rs.MoveNext();
}
//记得要close()
rs.close();
conn.close();
//如果是执行删除:conn.Execute(sql)
/**通过Recordset对象调用存储过程**
//var MyRst = Server.CreateObject("ADODB.Recordset")
//MyRst.open (getUserList",MyConStr,0,1,4)
//'MyConStr是数据库连接字串,最后一个参断含义与CommandType相同,倒数第二个1表示读取,3表示增、删、改
*/
/**//*在RecordSet组件中,常用的属性和方法有:
rs.Fields.Count: RecordSet对象的字段数。
rs(i).Name: 第i个字段的名称,i为0至rs.Fields.Count-1
rs(i): 第i个字段的数据,i为0至rs.Fields.Count-1
rs("字段名"): 指定字段的数据。
rs.Record.Count:游标中的数据记录总数。
rs.EOF: 是否最后一条记录。
rs.MoveFirst: 指向第一条记录。
rs.MoveLast: 指向最后一条记录。
rs.MovePrev: 指向上一条记录。
rs.MoveNext: 指向下一条记录。
rs.GetRows: 将数据放入数组中。
rs.Properties.Count:ADO的ResultSet或Connection的属性个数。
rs.Properties(item).Name:ADO的ResultSet或Connection的名称。
rs.Properties: ADO的ResultSet或Connection的值。
rs.close(): 关闭连接。
关闭数据库
conn.close() */
%>
var connStr=""Provider=SQLOLEDB; Data Source=localhost; Initial Catalog=jiaojingdb; User ID=sa; Password=123456;"
var conn= Server.CreateObject("ADODB.Connection");//定义conn的目的是可以提高效率,以后close(),但物理连接还存在,效率高。
conn.open(connStr);
//**通过Connection对象调用存储过程**
var rs = Conn.Execute("getUserList",0,4) '最后一个参断含义同CommandType
//实体中:
while(!rs.EOF){
Response.Write("<br>"+rs("title");
rs.MoveNext();
}
//记得要close()
rs.close();
conn.close();
//如果是执行删除:conn.Execute(sql)
/**通过Recordset对象调用存储过程**
//var MyRst = Server.CreateObject("ADODB.Recordset")
//MyRst.open (getUserList",MyConStr,0,1,4)
//'MyConStr是数据库连接字串,最后一个参断含义与CommandType相同,倒数第二个1表示读取,3表示增、删、改
*/
/**//*在RecordSet组件中,常用的属性和方法有:
rs.Fields.Count: RecordSet对象的字段数。
rs(i).Name: 第i个字段的名称,i为0至rs.Fields.Count-1
rs(i): 第i个字段的数据,i为0至rs.Fields.Count-1
rs("字段名"): 指定字段的数据。
rs.Record.Count:游标中的数据记录总数。
rs.EOF: 是否最后一条记录。
rs.MoveFirst: 指向第一条记录。
rs.MoveLast: 指向最后一条记录。
rs.MovePrev: 指向上一条记录。
rs.MoveNext: 指向下一条记录。
rs.GetRows: 将数据放入数组中。
rs.Properties.Count:ADO的ResultSet或Connection的属性个数。
rs.Properties(item).Name:ADO的ResultSet或Connection的名称。
rs.Properties: ADO的ResultSet或Connection的值。
rs.close(): 关闭连接。
关闭数据库
conn.close() */
%>
VBS中针对小数据量的数据集还有更好的解决方案:
《让我们把RS.GetRows看得更清楚》
Rs.GetRows(N):N代表获取记录数量
Rs.GetRows(1):1表示只返回一行记录
Rs.GetRows(-1):-1表示默认值,返回所有记录
使用GetRows方法生成1个二维数组
If Not Rs.Eof Then
Dim RsArr
RsArr=Rs.GetRows(-1)
For i=0 To Ubound(RsArr,2) '遍历记录行
For j=0 To Ubound(RsArr,1) '遍历记录列
Response.Write RsArr(j,i) '得到第i+1行,第j+1列的记录数据
Next
Next
End If
Rs.GetRows(1):1表示只返回一行记录
Rs.GetRows(-1):-1表示默认值,返回所有记录
使用GetRows方法生成1个二维数组
If Not Rs.Eof Then
Dim RsArr
RsArr=Rs.GetRows(-1)
For i=0 To Ubound(RsArr,2) '遍历记录行
For j=0 To Ubound(RsArr,1) '遍历记录列
Response.Write RsArr(j,i) '得到第i+1行,第j+1列的记录数据
Next
Next
End If
看完这两段代码是不是清楚了很多
webLogArr=webLog.GetRows(Log_Num) '得到所有数据
Ubound(webLogArr,2) '得到所有行
webLogArr(1,PageCount) '得到每页显示的第2列也就是log_CateID
但遗憾的是,在JavaScript中没有二维、多维数组,我是通过以下方法解决的:
<%
...
Response.Write("<script arr=new Array();");
var arrI=0;
while( !rs.EOF){
Response.Write("arr["+arrI+"]='"+rs(2)+"';");
rs.MoveNext();
arrI++;
Response.Write("</script>");
%>
Response.Write("<script arr=new Array();");
var arrI=0;
while( !rs.EOF){
Response.Write("arr["+arrI+"]='"+rs(2)+"';");
rs.MoveNext();
arrI++;
Response.Write("</script>");
%>