首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

类中函数能返回结果集吗?解决办法

2012-02-22 
类中函数能返回结果集吗?发现一个比较奇怪的现象,就是我在类模块里的写了一个查询数据库的函数,函数返回类

类中函数能返回结果集吗?
发现一个比较奇怪的现象,就是我在类模块里的写了一个查询数据库的函数,函数返回类型是ADODB.Recordset结果集。
但是在程序中New这个类后,调用这个函数,却无法返回结果集...我断点用监视器看过了,里面的变量都一切正常,都返回了相应的结果集,可就在函数返回的那一瞬间,奇迹发生了!根本就没有返回结果集!~~~汗~~~~~
我贴贴关键代码吧!

类(cDB)里面的函数

VB code
Public Function RtnRS(sSQL As String) As ADODB.Recordset        Set RtnRS=Conn.Execute(sSQL)'监视RtnRs确实返回结果集了!End Function 


程序中调用:
VB code
Dim myDB As New cDBDim Rs As ADODB.RecordsetSet Rs=myDB.RtnRs("Select * From TableA")'函数返回后,结果集却被吃掉了,Rs为Nothing。额....


[解决办法]
链接不要CLOSE即可
[解决办法]
VB 的选项中不要选 Compile On Demand,然后关闭 VB,重新打开工程进行全编译后再试试。

某些时候整个 VB 环境会被执行时的内存错误影响。
[解决办法]
Conn.Execute方法返回的是仅向前的游标,你可能看的是recordcount吧,那是-1不错.
VB code
Dim rs1 As ADODB.RecordsetDim clsTmp As New Class1Set rs1 = clsTmp.RtnRS("select * from T1")Debug.Print rs1.EOF'false
[解决办法]
友情Up.............

[解决办法]
探讨
Sofa

[解决办法]
我以前也遇到过类似的

热点排行