jstzcl007 发表于 2008-6-27 08:17

请教在C#2005中如何进行并发控制

用C#2005+SQL Server2005做C/S结构的程序,不知道怎样进行并发控制?当第一个用户对某行记录进行修改时,第二个用户也试图进行修改。我想做成当第二个用户试图修改时,系统即提示有用户正在修改本记录,请稍候。
记得Oracle里可以用select for update命令来判断该记录是否正在被修改,如果是则不让第二个用户进行修改,但是SQL Server2005里不支持该命令,不知大家是怎样并发控制的?

jstzcl007 发表于 2008-6-27 08:20

有人说在表字段里加个标记。0为正常,1为修改中,这种方法我在PB里用过。不足的是如果操作者的机子死机,或者这个机子断网了,那这个记录会长时间处于无法修改状态。即使重新启动了,也没用,连操作者自己都无法修改,因为该记录修改字段是1,还得数据库管理员手动改为0,太不方便。

jockey 发表于 2008-6-27 14:33

用事务控制,谁先保存谁保存

jstzcl007 发表于 2008-6-27 20:29

楼上的方法并不好,一个用户先保存了,其他用户再保存时才发现无法保存,我的意思是一旦有用户最先获得该记录的修改权,其他用户就无法修改了

页: [1]

编程论坛