|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.用过Rs.GetRow的兄弟都晓得Rs.GetRow能够更无效率地猎取小容量数据(不合适年夜容量数据,特别触及年夜工具的时分,简单暴失落,我就爆过一次),PuterJam使用得不错的说。
可是Rs.GetRow前往的是一个二维数组,我们常常不晓得哪段对哪段。这个很贫苦,因而编了一小段程序便利调试用:
Dimds
SetobjRS=objConn.Execute("SELECT*FROM[blog_Upload]WHERE([ul_Quote]LIKE%"&CStr(ID)&"%)")
ds=objRS.GetRows
objRS.Close()
SetobjRS=Nothing
创建一个表格
Response.Write"WrittenBySipo(www.dc9.cn)<tablealign=""center""border=""1"">"
Response.Writevbcrlf
Response.Write"<tr><td></td>"
Forj=0ToUBound(ds,1)
Response.Write"<td>ds("&j&",X)</td>"
Next
Response.Write"</tr>"
每行
Fori=0ToUBound(ds,2)
Response.Write"<tr><td>ds(X,"&i&")</td>"&vbcrlf
每列
Forj=0ToUBound(ds,1)
Response.Write"<td>"
IfIsNull(ds(j,i))Then
Response.Write"Null"
Else
Response.Writeds(j,i)
EndIf
Response.Write"<br>"
Response.Write"<b>ds("&j&","&i&")</b>"
Response.Write"</td>"
Next
Response.Write"</tr>"&vbcrlf
Next
Response.end
献给菜鸟们:
关于GetRows的小材料:
ADO也供应更无效率办法来获得数据。GetRows办法传回一个二维的数组变量,每行对应Recordset中的一条记录,且每列对应到纪录中的字段。此办法的语法以下:
varArray=rs.GetRows([Rows],[Start],[Fields])
Rows是要读取纪录的数目;假如想要获得Recordset一切纪录,可用-1或省略此参数。Start是指出第一个被读取纪录的书签;也能够是以下枚举常数中的一个:0-adBookmarkCurrent(今朝纪录)、1-adBookmarkFirst(第一条记录)、或2-adBookmarkLast(最初纪录)。
Fields是可选择的字段称号数组,其用来限定要读取的数据量。(也可指订单一字段称号、单一字段索引、大概一个字段索引数组)。当设定Rows为少于Recordset纪录笔数时,第一笔未读取的纪录酿成现行纪录。若省略Rows参数或设定为-1-adGetRowsRest或年夜于未读取的笔数时,GetRows办法会读取一切纪录并让Recordset在EOF形态,而不会发生任何毛病。
当处置目标变量数组的数据时,应当记得数据贮存体例是有点相反的感到:数组中第一维界说Recordset的字段(数据行),第二维界说Recordset的数据列。
GetRows办法一般比一次读一条记录的轮回要来得快些,但利用这办法时,必需断定Recordset未包括太多纪录;不然,会很简单以一个十分年夜的变量数组来填满一切内存。基于不异的缘故原由,得当心不要包含任何BLOB(BinaryLargeObject)或CLOB(CharacterLargeObject)字段;若云云做的化,使用程序必定会爆失落,出格是关于较年夜的Recordset而言。最初,记着此办法传回的变量数组是以0为基底的;传回纪录的笔数是UBound(values,2)+1,传回字段数是UBound(value,1)+1。
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。 |
|