asp recordset getrows方法
在ASP中操作数据库一般都要用到RecordSet对象,如果注重程序效率的话,可以使用RecordSet对象的GetRows方法,把记录集recordset转换成二维数组,因为操作数组在速度上将比用RecordSet对象的MoveNext方法快很多,也可以在将recordset转换为数组后尽早释放RecordSet对象,从而减少资源的占用,这也是优化ASP性能的一个方法。
假设现在有一个数据库,其中有一个表名为mytable,有3个字段,名称分别为id,first,second。
程序代码:
'' code by xujiwei '' http://www.xujiwei.cn/ '' 定义变量 Dim conn,rs,data,recN,i '' 连接数据库 Set conn=Server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &_ Server.MapPath("data.mdb") '' 获取记录集 Set rs=conn.Execute("SELECT id,first,second FROM mytable") '' 获取数据数组 data=rs.GetRows() '' 关闭记录集,释放对象 rs.Close() Set rs=Nothing '' 获取记录数 recN=UBound(data,2) '' 循环输出数据 For i=0 To recN '' 注意,数组下标从0开始 '' 显示数据库中数据 Response.Write("ID: "&data(0,i)&", First: "&data(1,i)&_ ", Second: "&data(2,i)&"<br />") Next '' 关闭数据库连接,释放对象 conn.Close() Set conn=Nothing %>
getrows返回的2维数组下标说明
arrA=rs.getrows '将记录集放在一个二维数组中 ubound(arrA,2)+1 '行数 ubound(arrA,1)+1 '列数 arrA(i,j) 'i表示第几个字段 j表示第几行数据
来源:http://www.xujiwei.cn/
加支付宝好友偷能量挖...