调用ASP+JAVASCRIPT的数据库的步骤
调用ASP+JAVASCRIPT的数据库的步骤
<%
varconnStr=""Provider=SQLOLEDB;DataSource=localhost;InitialCatalog=jiaojingdb;UserID=sa;Password=123456;"
varconn=Server.CreateObject("ADODB.Connection");//定义conn的目的是可以提高效率,以后close(),但物理连接还存在,效率高。
conn.open(connStr);
//**通过Connection对象调用存储过程**
varrs=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对象调用存储过程**
//varMyRst=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()*/
%>
varconnStr=""Provider=SQLOLEDB;DataSource=localhost;InitialCatalog=jiaojingdb;UserID=sa;Password=123456;"
varconn=Server.CreateObject("ADODB.Connection");//定义conn的目的是可以提高效率,以后close(),但物理连接还存在,效率高。
conn.open(connStr);
//**通过Connection对象调用存储过程**
varrs=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对象调用存储过程**
//varMyRst=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("<scriptarr=newArray();");
vararrI=0;
while(!rs.EOF){
Response.Write("arr["+arrI+"]='"+rs(2)+"';");
rs.MoveNext();
arrI++;
Response.Write("</script>");
%>
Response.Write("<scriptarr=newArray();");
vararrI=0;
while(!rs.EOF){
Response.Write("arr["+arrI+"]='"+rs(2)+"';");
rs.MoveNext();
arrI++;
Response.Write("</script>");
%>