主题:记录集一定要放入数组吗?
用VB做了一个数据库管理软件,用SQL语句得到一个用户的一些信息,
如:
sqlstring = " select * from 表GKCS where 编号>= " & db_N & " and 编号 in(select min(编号) as 编号 from 表GKCS group by 姓名 having(count(*)>=1))" & " order by 编号 asc"
If rs.State = adStateOpen Then rs.Close
rs.Open sqlstring, cn, adOpenStatic, adLockOptimistic
形成一个记录集rs。用rs.movenext,rs.moveprevious,一条一条翻看记录,翻到了第3条。这时,需要新开一窗口,按别的条件再新开一个记录集。 回到原来的页面时,需要继续按刚刚的顺序看第4条记录。
我的实现方式是:记录下原来的记录的序号。回到原来的页面时,再通过以上语句得到原来的记录集,执行rs.movenext3次,然后显示出来。就可以让用户得到连续的感觉了。但是发生过死机,不知是否是这样的方式不好。
朋友建议的方式:将每次RS后的结果放入一个数组中,马上关掉数据库。这样安全。就是换窗口,也能按原来的次序上下看记录。
请问大家都是如何做的。
谢谢。
如:
sqlstring = " select * from 表GKCS where 编号>= " & db_N & " and 编号 in(select min(编号) as 编号 from 表GKCS group by 姓名 having(count(*)>=1))" & " order by 编号 asc"
If rs.State = adStateOpen Then rs.Close
rs.Open sqlstring, cn, adOpenStatic, adLockOptimistic
形成一个记录集rs。用rs.movenext,rs.moveprevious,一条一条翻看记录,翻到了第3条。这时,需要新开一窗口,按别的条件再新开一个记录集。 回到原来的页面时,需要继续按刚刚的顺序看第4条记录。
我的实现方式是:记录下原来的记录的序号。回到原来的页面时,再通过以上语句得到原来的记录集,执行rs.movenext3次,然后显示出来。就可以让用户得到连续的感觉了。但是发生过死机,不知是否是这样的方式不好。
朋友建议的方式:将每次RS后的结果放入一个数组中,马上关掉数据库。这样安全。就是换窗口,也能按原来的次序上下看记录。
请问大家都是如何做的。
谢谢。