超奇怪,超难之怪问题,解决者高分回报!!

foreverforyou 2003-03-27 04:29:58
我新建了一个ActiveX DLL工程,在标准模块中,我定义了一个全局的ADO连接对象

public gadocn as new adodb.connection

在 sub main() 中,我打开了该连接,
gadoCn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=" & strUser & ";Initial Catalog= " & strDatabase & ";Data Source=" & strServer & ";Password=" & strPassword

在类模块中,我定义了一个方法,是用该连接执行的一段查询语句,如

public sub qry()
dim rs as adodb.recordset
set rs=gadocn.execute("select * from db")
end sub

然后,我运行了这个类,同时,我在另一个工程中引用了这个类,并调用了这个类的这个方法,非常奇怪的是,我第一次运行该工程的时候,一切正常,而当我停止运行,再重新运行一次工程时,却提示“一般性网络连接错误”之类的连接错误,只有我关闭VB,再重新打开该工程和类,才可以运行,可是到第二遍又不行了,以前从没出现过这样的问题,实在是太奇怪了!请帮帮我分析一下原因,万分感激
...全文
33 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
foreverforyou 2003-03-28
  • 打赏
  • 举报
回复
问题还是存在,但我仍感谢大家,想必这个问题是没办法解决了,谢谢,
结帖给分
rexyudl 2003-03-27
  • 打赏
  • 举报
回复
up
chenyu5188 2003-03-27
  • 打赏
  • 举报
回复
public gadocn as new adodb.connection

在 sub main() 中,我打开了该连接,
gadoCn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=" & strUser & ";Initial Catalog= " & strDatabase & ";Data Source=" & strServer & ";Password=" & strPassword



public sub qry()
dim rs as adodb.recordset
set rs =new adodb.recordset
rs.open "select * from db",cn,3,3
end sub
oswica 2003-03-27
  • 打赏
  • 举报
回复
set gadoCn=nothing
zhufei 2003-03-27
  • 打赏
  • 举报
回复
这样才对:
在sub_main 前面多加一句:set gadocn=new adodb.connection
试试看

public gadocn as adodb.connection

在 sub main() 中,我打开了该连接,
set gadocn=new adodb.connection
gadoCn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=" & strUser & ";Initial Catalog= " & strDatabase & ";Data Source=" & strServer & ";Password=" & strPassword

在类模块中,我定义了一个方法,是用该连接执行的一段查询语句,如

public sub qry()
dim rs as adodb.recordset
set rs=gadocn.execute("select * from db")
end sub
chenyu5188 2003-03-27
  • 打赏
  • 举报
回复
GZ
foreverforyou 2003-03-27
  • 打赏
  • 举报
回复
To: rexyudl(雪人)
调用的DLL在适当的时候我都释放掉了
国鑫 2003-03-27
  • 打赏
  • 举报
回复
rs.open()
rs.close
国鑫 2003-03-27
  • 打赏
  • 举报
回复
rs.close
rexyudl 2003-03-27
  • 打赏
  • 举报
回复
是否是因为你的DLL已经加载在二次加载时出错呢?
pcwak 2003-03-27
  • 打赏
  • 举报
回复
up
foreverforyou 2003-03-27
  • 打赏
  • 举报
回复
up,求救
foreverforyou 2003-03-27
  • 打赏
  • 举报
回复
我再说一遍问题:
我是指第一用VB打开工程之后,第一次运行的时候正常,然后我退出程序,再运行一次,就出现问题,而且是数据库连接的问题,当我把VB关掉(是关闭VB6工程,而不是指运行的程序),再打开后,又能连接了,但也只有第一次正常,以前一直很正常的,但不知为什么出现了这样的总是
rexyudl 2003-03-27
  • 打赏
  • 举报
回复
不会是你把连接关闭了吧!
大鸟吴 2003-03-27
  • 打赏
  • 举报
回复
Up!关注!
foreverforyou 2003-03-27
  • 打赏
  • 举报
回复
请你们看清楚,我是指VB停止运行以后,再重新运行时,有这样的错误,而且停止在
gadoCn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=" & strUser & ";Initial Catalog= " & strDatabase & ";Data Source=" & strServer & ";Password=" & strPassword
处,这和记录集的关闭与释放应该没有关系,而且我也都试过,还是如此
980 2003-03-27
  • 打赏
  • 举报
回复
rs.colse
ClientDC 2003-03-27
  • 打赏
  • 举报
回复
rs.close
set rs=nothing
980 2003-03-27
  • 打赏
  • 举报
回复
set rs=nothing
foreverforyou 2003-03-27
  • 打赏
  • 举报
回复
该rs对象为过程级的,在过程结束时,VB已经自动释放了该对象,我试过强制释放,
set rs=nothing
问题依旧
加载更多回复(1)

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧