数据库表的共享冲突 (50分)

  • 主题发起人 主题发起人 cjj2
  • 开始时间 开始时间
C

cjj2

Unregistered / Unconfirmed
GUEST, unregistred user!
以下是几位两年前的观点,我不知道谁对谁错,请多指教!

-----------------------------------
》》来自:BaKuBaKu, 时间:2000-10-22 17:30:00, ID:372645
又碰到一位喜欢用 DBGrid 同服务器“直通”方式做 C/S 程序的朋友。
难道不能改变一下做法吗?这样的确会引起共享冲突。


》》来自:arm, 时间:2000-10-22 19:43:00, ID:372735
我作的程序的录入
从来不用DATAAWARE的空间



》》来自:吴剑明, 时间:2000-10-23 10:15:00, ID:373239
恕我直言:
DBGRID本身并不会引起死锁。包括其他的DBWARE。
只有处于EDIT状态的DBWARE才会加锁。但不是“死锁”,
只是“行锁”,如果是支持“行锁”的话。
SELECT语句会加锁,但是执行结束后,锁也就释放了。
和在DBGRID有没显示出来没关系! 至少我是这么理解的。
-----------------------------------


 
DB控件一般都是在第一次Post的时候锁定记录,此时它会比较你修改前的记录与数据库中的
数据是否一致,如不一致则报“数据被别的用户修改”的错,如果一致则把你的修改提交到
数据库,同时锁定此记录(如果有事务处理而当前事务没有结束的话)。别的用户再要进行
Post就会报错了。
 
这与数据感应控件有什么关系?
不要大帽子乱扣,关键是理解控件内部的行为.

更新数据的操作是由数据集执行的,与可视的数据感应控件根本不相关.
数据集最终也是发SQL命令更新数据,与你自己发sql更新数据有什么分别?
 
情况复杂的,不能一概而论,BDE的方式和ADO不一样,每种数据库之间也有差异。
 
没有问题
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
738
SUNSTONE的Delphi笔记
S
S
回复
0
查看
730
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部