100分提问:跨程序使用connection对象的问题

liangzhifa 2009-04-01 04:29:05
我们的产品是一个exe带四个dll的一个工程组。
现在想在打开exe时建立与sql server的长连接(conn),然后dll中需要执行sql的时候直接使用exe中的conn。
请问在dll中怎么才能调用到exe中的conn。
谢谢。
...全文
142 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangzhifa 2009-04-02
  • 打赏
  • 举报
回复
从何改起?
怎么改呀?
没思路
嗷嗷叫的老马 2009-04-02
  • 打赏
  • 举报
回复
可以试着直接将CONNECT对象作为全局对象,并改一下相关DLL的接口,传入这个对象即可.
嗷嗷叫的老马 2009-04-01
  • 打赏
  • 举报
回复
改改代码吧,只有这样......
liangzhifa 2009-04-01
  • 打赏
  • 举报
回复
唉,90年代的老程序了。

现在的问题是,主程序.exe中没有直接调用需要使用connection的dll中的函数,而是通过其他activeX Dll调用的。
这个连接能不能先保存在内存里,然后dll通过句柄的方式抓到啊?
嗷嗷叫的老马 2009-04-01
  • 打赏
  • 举报
回复
直接传递对象即可.

你的DLL都是ActiveX DLL吧?
vbman2003 2009-04-01
  • 打赏
  • 举报
回复
连接对象可以做为参数传递,dll中有接口就行...
不过你这样的设计....
liangzhifa 2009-04-01
  • 打赏
  • 举报
回复
我要使用长连接,exe打开后不关闭,一直连着。
dll使用时就不再打开数据库连接了,而是直接使用此链接。
神马都能聊 2009-04-01
  • 打赏
  • 举报
回复
传递连接字符串

连接字符串在使用前保存一份副本.

即不要传递connection.connectionstring

类似如下:
'保存到全局字符串
g_CnnString = "****"
'exe的连接字符串
e_CnnString = "****"

调用dll时,传递g_CnnString过去

1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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