说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

大家快来帮帮我,我都快死了!

编辑:说三道四文库 发布时间:2018-02-25 04:12
HTML文档下载 WORD文档下载 PDF文档下载
问题是这样的:
现在有几个客户端同时连接一个表,但他们从表里获取的数据各不相同。
当几个客户端同一时刻对表进行修改的时候就出现了问题:有一个用户
能顺利的把操作完成,但其他的就出错了说什么“影响多行”之类的提示
反正就是不能同时进行同一操作(修改)!
有谁知道,就请大家帮帮我!
用事务控制了吗?
表有主键(索引)吗?
你用的是c++builder自己带的数据库吗?他是单机版的!不能同时使用多个终端。换SQL server等数据库
使用Query直接执行SQL命令就不会有这样的问题了;

这个问题的解决应该是当多个用户同时操作一个数据库时,只能有一个用户有修改权,其它的用户只能浏览,当有修改权的用户更改完所才可以让其它的用户这一可以修改,就可以避免你的问题了,具体的你可以看看李维的“分布式应用系统篇”
根本上解决,只有换数据库!
SQL, InterBase,等
好像你用的是ADO+Access
这个问题的解决应该是当多个用户同时操作一个数据库时,只能有一个用户有修改权

就可以 解决你的问题了
 使用  try catch …… 自己查帮助
很多数据库都提供了事务控制的功能。。
在编程的时候加入事务控制控制就可以了..就可以让很多用户同时超作时只有一个可以修改..
多用户操作地时候应该是用事务控制。
事务控制,看看数据库的并发处理
你用的是什么数据库?详细说说!!
这要看你用的是什么数据库。
如果是paradox,在一个程序修改数据库时会锁定数据表。
如果你用的是Oracle,他支持行锁定的功能,只有你两个程序不同时修改同一数据行,就不会产生互斥。
使用数据库提供的事务管理功能,如果数据库是桌面数据库,那就自己写个处理竞争的模块,

不过我也没试过,希望哪个具体实现一下....
我用的sql server数据库!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘