nextrecordset和演示双弹簧集成~~
最近使用的好东东!
为了改进批处理查询,查询记录集不庞大,结果非常有效。
nextrecordset和GetRows是两个记录集(属性或方法我经常颠倒是非# #美元美元的不清楚,145除外)
我将记录集记录集提取演示成一个二维数组记录集的数据,我们将转移到阵列,可以早点打破记录,不使用而不是元数据操作,rs.movnext,rs.eof等可以保存
nextrecordset球在提交多个请求,形成多个reordset结果集,离开工作提供一个记录集的方法,第二传送到记录集!
它主要用于由多个选择组成的一组结果的情况下。
示例如下:
sql,RS,ARRA、ARRB,rowsa,rowsb
======数据库记录= = = =提取
(这adodb.connection连接部分被省略,假设conn.open connstr)
SQL =选择CA1、CA3、CA4中钙,从SELECTa---------------
SQL SQL选择CB1、CB2、CB3,CB4,CB5从TableB ------------- SELECTb
集= conn.execute(SQL)
执行的结果会有两个选择的结果,和目前的第一选择的记录集是在活跃状态
ARRA = rs.getrows集----------选择了二维数组
集= rs.nextrecordset
关键的------------步骤,使用nextrecordset激活下一个记录集
ARRB = rs.getrows----------再次做了一个二维数组的第二SElECTb Recordset
rs.close
集=没有---------早期发布的数据库对象,关闭记录集
conn.close
设置conn =没有
通过这种方式,数据库上的所有数据都是干净和干净的,数据库资源最早就被释放了。
----------- / /
========页以获得ARRA ARRB方法处理,历史数据显示
通知后安排= GetRows数组,第一维是柱,第二个代表行。
rowsa = UBound(ARRA,2)确保安排两下标提取,相当于记录的记录号
rowsb = UBound(ARRB,2)的-----同上,二维ARRB方法提取。
做数据循环:
第一个选择表的循环
response.write
我rowsa = 0
response.write
response.write ARRA(I,0)tablea.ca1
response.write ARRA(I,1)tablea.ca2
response.write ARRA(I,2)tablea.ca3
response.write ARRA(I,3)tablea.ca4
response.write
下一个
response.write
第二选择表循环
response.write
我rowsb = 0
response.write
response.write ARRB(I,0)tableb.cb1
response.write ARRB(I,1)tableb.cb2
response.write ARRB(I,2)tableb.cb3
response.write ARRB(I,3)tableb.cb4
response.write ARRB(I,4)tableb.cb5
response.write
下一个
response.write
在--------
REM的============总结。
这是一个明确的结果。
(1)使用nextrecordset,我们可以处理多个SELECT语句发送一次设定的结果,减少了网络流量,因此必须加快!
不使用nextrecordset会这样操作:
SQL =选择CA1、CA3、CA4中钙,从
集= conn.execute(SQL)
SQL =选择CB1、CB2、CB3,CB4,CB5在TableB中
集= conn.execute(SQL)
(2)使用GetRows提取记录到数组(在内存中,因此需要设置不海的记录)。
随着存储阵列的工作,节省EOF,MoveNext的判断,等等,谁更快!你不必说!
(3)最重要的是,我们将用两人立刻完成所有的数据,迅速断开数据库连接和销毁记录的数据库对象,大大减少了网络流量。自然需要改进很多!
-----------哦!在原来,浅深颜色,原谅我,原谅我~~~~~~~相比传统