vb关于rs.movenext的问题
首先我写了个过程取得了一个数据集rs,其中这rs有两条记录。然后我在另外一过程中,将rs赋值给另外一个recordeset比如rs1setrs1=rs此时rs1的数据集也...
首先我写了个过程取得了一个数据集rs,其中这rs有两条记录。
然后我在另外一过程中,将rs赋值给另外一个recordeset 比如rs1
set rs1=rs
此时rs1的数据集也是两条记录
然后我想将这个记录中files(0)的值加成treeview的父节点
Set nodx = TreeView1.Nodes.Add(, , , rs1.Fields(0), 1, 3)
这样会将第一条记录加入。
但是如果多条,甚至比2条更多时我们肯定用循环
于是我
for i =1 to rs1.recordecount(这个是2目前)
理论上要循环一次
Set nodx = TreeView1.Nodes.Add(, , , rs1.Fields(0), 1, 3)
rs1.movenext
next i
可是这样会报错,提示当数据集eof 或bof为真时或者....反正就是没数据了。
这就奇了怪了,我才添加一次数据集怎么就给空了,这是为什么,要改哪个地方吗 展开
然后我在另外一过程中,将rs赋值给另外一个recordeset 比如rs1
set rs1=rs
此时rs1的数据集也是两条记录
然后我想将这个记录中files(0)的值加成treeview的父节点
Set nodx = TreeView1.Nodes.Add(, , , rs1.Fields(0), 1, 3)
这样会将第一条记录加入。
但是如果多条,甚至比2条更多时我们肯定用循环
于是我
for i =1 to rs1.recordecount(这个是2目前)
理论上要循环一次
Set nodx = TreeView1.Nodes.Add(, , , rs1.Fields(0), 1, 3)
rs1.movenext
next i
可是这样会报错,提示当数据集eof 或bof为真时或者....反正就是没数据了。
这就奇了怪了,我才添加一次数据集怎么就给空了,这是为什么,要改哪个地方吗 展开
3个回答
展开全部
加个分页,rs会在每页指定的记录个数里面输出,其它的数据检索会留在点击下一页时执行,这样可以缓解rs一次读到底的慢效率
以上回答你满意么?
以上回答你满意么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
QUN号148317126 ,2000个人的,那里问问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你应该这样:
rs1.movefirst
do while not rs1.eof
Set nodx = TreeView1.Nodes.Add(, , , rs1.Fields(0), 1, 3)
rs1.movenext
loop
rs1.movefirst
do while not rs1.eof
Set nodx = TreeView1.Nodes.Add(, , , rs1.Fields(0), 1, 3)
rs1.movenext
loop
追问
我靠,你这样还真可以,但是我的想法和你没啥不同,为什么我那样写会报错,你这样就不会了,从逻辑上能简单解释一下吗?
追答
用for也可以
rs1.movefirst
for i =1 to rs1.recordecount-1 '需要减1,自己思考下
Set nodx = TreeView1.Nodes.Add(, , , rs1.Fields(0), 1, 3)
rs1.movenext
next
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询