关于多用户操作同一个表的问题

fstao 2000-04-01 08:51:00
delphi的问题:
用Mssql7新建一表table1,如果多个用户对table1进行新增记录、删除记录、
修改记录和利用sql语句(update、insert和delete记录)时,应注意什么问题
呢?
注意:不是本地数据库!是在网络上运行的。
...全文
203 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
MikeZyx 2000-04-01
  • 打赏
  • 举报
回复
其实,Mssql 6.5以上的版本,在数据库锁的管理方面的性能都是相当不错,你只管理进行记录的新增、修改和删除好了,锁的管理都交给SQL Server即可。
fstao 2000-04-01
  • 打赏
  • 举报
回复
delphi的问题:
数据库为:Mssql7。假如建一新表dbo.table1(主表)和dbo.table2(从表),这是远端数据库。
我发现大多数人使用Tquery来添加数据,而不是用Ttable。为什么?而且我还发现都很喜欢用事务处理,
这样做有什么好处呢?能否讲一讲呢?
假如DataModul里有MasterQuery和DetailQuery(两个都是Tquery),如果form1里添加DBedit1、DBedit2和
Dbgrid1,DBedit1和Dbedit2的Datasource指向Masterquery,而DBgrid1的datasource指向DetailQuery的,
我要添加数据时,我只有把Masterquery和DetailQuery的RequestLive=True。在Masterquery的AfterPost里
添加:
Database1.StartTransaction;
try
Masterquery.ApplyUpdates;
Detailquery.ApplyUpdates;
Database1.Commit;
except
Database1.Rollback;
raise;
end;
Masterquery.CommitUpdates;
Detailquery.CommitUpdates;


我这样做好不好?但我听坏蟑螂说过,在操作远端数据表的时候,不要把RequestLive=True,这样就等于使用
Ttable,违背C/S模型的初衷。但象我这种情况(用TDBedit显示主表的数据,用TDbgrid显示从表的数据),那
该如何做呢?
但还有一个问题,是要多人同时添加、修改同一表dbo.table1(主表)和dbo.table2(从表),而且还要用
Sql语句update来操作dbo.table1,就好象几个人同时添加、修改和删除同一个表dbo.table1(主表)和
dbo.table2(从表),其他人用sql语句Update来操作dbo.table1(主表)。
谁能给我一个例子?多谢了。
蝈蝈俊 2000-04-01
  • 打赏
  • 举报
回复
Mssql7应该自身解决了多用户处理的问题吧.

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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