关于读取数据库记录 中断问题?????????????
比如 数据库存了5行记录 我首先全部读取 但当我在读取到第2行一半的时候,收到个停止读取的命令 ,那么把第2行完整读完后,才中断,也就是第3行后面的不读了
原来想做个全局变量,当VB读数据记录的时候先检查这个全局变量,然后读一行检查一下,当它是不能读的时候,就退出来,但是现在系统是多线程的,这样就会把其他线程读的也中断了。。。
问高手,这要怎么实现好呢
问题点数:20、回复次数:10Top
1 楼ZOU_SEAFARER(颓废程序员^_^)回复于 2006-02-07 17:23:42 得分 0
do while not rs.eof
for i = 0 to 5
Text1(i).text= re.Fields(21).Value)
doevents '外界有机会改变Flage的值
next
if Flag= False then exit do
rs.movenext
loop
'Top
2 楼yubo1209(稻草人)回复于 2006-02-07 17:25:42 得分 0
Flage是局部变量 还是全局变量
Top
3 楼vansoft(Vansoft Workroom)回复于 2006-02-07 17:26:05 得分 0
不明白。
取的時候五條一下子就取出來了。
一條條取,不累啊?
你是用在顯示的時候吧?Top
4 楼yubo1209(稻草人)回复于 2006-02-07 17:32:54 得分 0
是啊 取的时候 比如他一个命令 取3条 那我开始取了,因为随时会被中断,所以我对这三条的记录是一行一行取的,比如 where id=1 \ id=2 当我取一办的时候 停止命令来了 那么 我就只能当id=2的那条下完,就要退出该函数,不能再读ID=3的那条内容了啊
一楼那朋友,是不是用全局变量啊 那多个客户端访问过来 怎么办,一中断,就中断所有客户端再下的数据了Top
5 楼ZOU_SEAFARER(颓废程序员^_^)回复于 2006-02-07 17:36:53 得分 10
Flage是全局变量。
如果多个客户访问可以设定标志数组,
一个标志对应一个客户Top
6 楼yubo1209(稻草人)回复于 2006-02-07 17:39:53 得分 0
是不是还是说的不够清楚
是这样 我要用VB做一个DLL 里面两个接口 一个提供查询数据的 一个终止查询的接口
接口的调用者都是VC VC是多线程 所以我要考虑的是终止接口怎么实现,才不会导致多线程的数据都不会被终止
Top
7 楼hnhn()回复于 2006-02-08 10:25:29 得分 5
多线程调用同一个终止接口检查调用是否终止,结果会一致。Top
8 楼yubo1209(稻草人)回复于 2006-02-09 14:40:05 得分 0
up下Top
9 楼yubo1209(稻草人)回复于 2006-02-10 10:16:34 得分 0
帮UPTop
10 楼GoldFox(金色狐狸)回复于 2006-02-10 11:41:51 得分 5
用WithEvents激活记录集的事件
在WillMove或MoveComplete 写入停止读取命令即可Top




