社区
网络通信/分布式开发
帖子详情
多线程操作数据库的问题?
xiaokun111
2013-11-04 11:49:18
主线程在数据库中添加记录,还有一个线程IdTcpServer接收网络包后删除数据库中的记录,
增加和删除的操作为同一个表。
总是发生错误。
加上临界区,互斥也不行。
但单独运行某个线程是没有问题的,两个线程同开则就报错。
...全文
104
3
打赏
收藏
多线程操作数据库的问题?
主线程在数据库中添加记录,还有一个线程IdTcpServer接收网络包后删除数据库中的记录, 增加和删除的操作为同一个表。 总是发生错误。 加上临界区,互斥也不行。 但单独运行某个线程是没有问题的,两个线程同开则就报错。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaokun111
2013-11-04
打赏
举报
回复
临界区,互斥在这种情况下似乎都失效了
xiaokun111
2013-11-04
打赏
举报
回复
不是显示,后台操作的,不用DBGrid。 当两个线程一个增加记录,一个删除记录就会报错。 两个线程同时读数据是没问题的。 不知道是线程的问题还是ADO的问题?
Oraclers
2013-11-04
打赏
举报
回复
首先你使用了同一个表,在操作表时,如果你不是显式去锁定,系统是会锁定表的。你在客户端用什么方法都是不行的。可以改为准备好数据后,然后执行SQL语句插入记录,不要用DBGRID类似的界面去插入记录,否则会长时间锁表。删除亦同样。
C#常用类库(100多个)
包含文件、网络、http、
多线程
、控件、office、IO、JSON、压缩文件、文本字符串、正则表达式、HTML、邮件、系统、
数据库
、加密解密等
操作
类
java线程
操作
数据库
_
多线程
操作
数据库
(CoreData)
这种情况一般是发生在app有多个NSManagedObjectContext,两个线程分别对其进行了读写
操作
。2: 有时候程序会莫名其妙的crash掉,这个有很多原因:a: 有时候是因为两个线程同时读写
数据库
中的同一条记录。b: 有时候...
python
多线程
操作
数据库
问题
python
多线程
并发
操作
数据库
,会存在链接
数据库
超时、
数据库
连接丢失、
数据库
操作
超时等
问题
。解决方法:使用
数据库
连接池,并且每次
操作
都从
数据库
连接池获取
数据库
操作
句柄,
操作
完关闭连接返回
数据库
连接池。*...
多线程
操作
数据库
当
多线程
对同一
数据库
进行
操作
的时候会可能发生冲突。 读读不会冲突,读写,写读等
操作
应该会引起冲突(其中的写包括update、delete和insert)。 解决冲突的方法: 1.使用 select * from 表名 ...
多线程
连接
数据库
问题
今天突然想到一个
问题
,就是
多线程
情况下访问
操作
数据库
中的并发
问题
。
数据库
中的一个连接对应一个
数据库
的事务,一般有两种访问方案: 1,通过一个线程对应一个连接,不过中方式感觉太奢侈了,所有一般用连接池...
网络通信/分布式开发
1,593
社区成员
32,964
社区内容
发帖
与我相关
我的任务
网络通信/分布式开发
Delphi 网络通信/分布式开发
复制链接
扫一扫
分享
社区描述
Delphi 网络通信/分布式开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章