社区
数据库
帖子详情
多线程操作数据库(ado)问题
suisuibianbian
2004-06-17 12:25:12
全部数据库操作封装成DLL,数据库中有三个表。
主线程先调用DLL中的连接数据库函数后往表中写数据,
开了三个子线程每隔30秒从数据库三个表中分别取出数据,子线程中也调用DLL的连接数据库函数,取数据操作完成后就关闭数据库连接。
如果只开一个线程,就没有问题,开两个就老是出现异常。
ado是支持多线程的呀,高手帮忙,先谢了
...全文
237
17
打赏
收藏
多线程操作数据库(ado)问题
全部数据库操作封装成DLL,数据库中有三个表。 主线程先调用DLL中的连接数据库函数后往表中写数据, 开了三个子线程每隔30秒从数据库三个表中分别取出数据,子线程中也调用DLL的连接数据库函数,取数据操作完成后就关闭数据库连接。 如果只开一个线程,就没有问题,开两个就老是出现异常。 ado是支持多线程的呀,高手帮忙,先谢了
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
suisuibianbian
2004-06-21
打赏
举报
回复
好像搞定了,多线程就是麻烦
suisuibianbian
2004-06-20
打赏
举报
回复
挂了,出错的地方还是随机的,怎么搞啊
九重霄
2004-06-18
打赏
举报
回复
关注
大脚板
2004-06-18
打赏
举报
回复
另,能否判定是否CoInitialize(NULL)过了
大脚板
2004-06-18
打赏
举报
回复
试了一下,果然如vcforever(霓裳羽衣) 所说
大脚板
2004-06-18
打赏
举报
回复
我也碰到类似的问题,封装了一个类,主线程中一切正常,把对象传递到辅助线程里,连接的时候就出现问题了,感觉应该是 vcforever(霓裳羽衣) 说的问题
suisuibianbian
2004-06-17
打赏
举报
回复
不好意思,没说清楚主线程中的写数据是调用的另一个DLL中的函数,这个函数调用了数据库操作DLL的连接函数和写数据函数,可以吗
Kudeet
2004-06-17
打赏
举报
回复
除非你一个连接使用完了关闭之后,你才可以重新和数据库建立连接!
Kudeet
2004-06-17
打赏
举报
回复
呵呵!你的数据库能支持多线程吗?几个线成同时对它进行操作!看你上面的介绍好象是不行的吧!主线程连接后,三个子线程对数据库操作,这个时候你的数据库是打开的了,而你的子线程又调用DLL的连接数据库函数,当然会有问题的啦!连接一个正在操作的数据库!会出问题的!
suisuibianbian
2004-06-17
打赏
举报
回复
To aben456(相逢一笑) :
"传递这个连接过去就可以了",具体怎么操作我不太明白,能详细些吗
aben456
2004-06-17
打赏
举报
回复
你可以保持这个连接
写数据的时候,传递这个连接过去就可以了
suisuibianbian
2004-06-17
打赏
举报
回复
To vcforever(霓裳羽衣):
子线程中调用的DLL中的每个函数开始都有CoInitialize(NULL),结束是有CoUninitialize(),你的意思是否是子线程中也要加上,这样会否出错
vcforever
2004-06-17
打赏
举报
回复
出现什么异常???
最好在每个线程中使用CoInitialize(NULL);都初始化一下COM库
线程结束后使用CoUninitialize()卸载COM库
Kudeet
2004-06-17
打赏
举报
回复
是的!
suisuibianbian
2004-06-17
打赏
举报
回复
那只有修改主线程中的那个DLL了,要写数据时连接,之后马上关闭了,是这个意思吧
Kudeet
2004-06-17
打赏
举报
回复
同一个程序下连接两次就会引起错误!
Kudeet
2004-06-17
打赏
举报
回复
尽量不要对一个已经连操作接的数据库再次建立连接!很容易出问题的!我以前遇到过!
delphi
多线程
访问
数据库
本文将深入探讨如何在Delphi中实现
多线程
数据库
访问,并结合给定的文件名列表来推测可能的项目结构。 首先,
多线程
的基本概念是并发执行多个任务,每个任务在一个独立的线程上运行。在Delphi中,我们可以使用...
一个
多线程
访问
数据库
的代码
通过分析和学习这个代码,你可以理解如何在实际项目中实现
多线程
数据库
访问,以及如何解决相关的
问题
。 总之,
多线程
访问
数据库
是一项重要的技能,尤其在大型系统和高并发应用中。通过VC6.0的实践,你可以更好地...
VC下
ADO
开发实践与
多线程
标题中的“VC下
ADO
开发实践与
多线程
”揭示了本书的核心内容,即在Microsoft Visual C++(简称VC++)环境下,如何运用ActiveX Data Objects(
ADO
)进行
数据库
操作
,并结合
多线程
技术来实现高效的并发处理。
ADO
是微软...
VC_
多线程
的访问
数据库
实例程序
在VC++编程环境中,
多线程
技术是一种提升应用程序性能的有效方式,特别是在处理
数据库
访问时,可以实现并发
操作
,提高系统响应速度。本实例程序“VC_
多线程
的访问
数据库
实例程序”旨在帮助开发者理解如何在Windows...
多线程
ADO
安全访问SQL
在
多线程
环境中,每个线程都可以拥有独立的
ADO
连接,这样每个线程可以独立执行
数据库
操作
,但要注意线程同步
问题
,以防止竞态条件和死锁。 **线程安全策略** 1. **连接池**:创建一个连接池,由所有线程共享。每次...
数据库
4,018
社区成员
39,807
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章