| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 562 人关注过本帖
标题:讨论:关于记录集对象使用问题,你一定会遇到的问题
只看楼主 加入收藏
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
 问题点数:0 回复次数:1 
讨论:关于记录集对象使用问题,你一定会遇到的问题

我在做一个图纸更改登记程序,所有查询、添加、修改、删除、排序等操作都很正常,但在导出记录完毕时出现文本框一片空白,好像文本框与记录集失去了绑定一样。
我用了一个ListView控件来显示按条件查询到的记录集,并将相关文本框与记录集邦定来显示单个记录字段值。在窗体上设有“导出当前记录”和“导出全部记录”按钮。在导出按条件查询到的ListView显示的当前记录的过程中,我使用了一个记录集Cr,在单击ListView时,Cr记录集将会根据ListView的行数移动,相应文本框显示值也跟随Cr移动而变化。
我做了一个数据库操作类模块DbOperation并在Form中引用,类模块DbOperation中有一个ExportToAccess函数,在“导出当前记录”和“导出全部记录”按钮的单击事件中使用了DbOperation的ExportToAccess函数,并将Cr传递给函数的参数Rs,并使用了Byval来传递。在导出时用到了
Rs.MoveFirst
Do Rs.EoF

“此处为导出语句”

Rs.MoveNext
Loop

最终Rs被移动到了最后一条记录之后,此时弹出“数据到处完毕”提示框,在这时我发现所有文本框一片空白,没有任何内容显示,但ListView无任何变化。所以我非常疑惑,难道Rs发生变化也会影响到Cr记录集?我还做了一个试验:
Dim mRs as new Adodb.Recordset
set mRs=Cr
mRs.MoveFirst
Do mRs.Eof

mRs.MoveNext
Loop
此时mRs也被移到了最后一条记录之后,mRs.AbsolutePosition=-3,-3的值=adPosUnknown,同时我也检查Cr,其指针与mRs一样。我很郁闷。因为mRS已被实例化了,是一个新对象,Cr是另一个对象,按理说mRs与Cr互不相干,但事实证明它们之间是关联的,我觉得用了Byval就不应该,传过来的Rs是Cr的一个副本(书上是这么说的),副本与原件是两个对象,各是各的。
所以,我恳请大家发表你的高解帮我解惑!

[此贴子已经被作者于2006-5-13 22:00:22编辑过]

搜索更多相关主题的帖子: 对象 记录 ListView 文本 
2006-05-13 21:55
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 
为什么没人回答呢?难道没人会吗?

2006-05-14 15:38
快速回复:讨论:关于记录集对象使用问题,你一定会遇到的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013845 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved