多个客户端 同时访问数据库,如何防止读取到同一条记录
开发了个评卷客户端,远程访问sql server,多个客户端同时读未批阅的的试题记录(一条一条读),如何防止两个客户端读取到同一考生的试题记录?疑虑:数据库本身会将多个客户端串行访问? 还是需要我特别处理,如果需要处理,该如何处理? 多进程 访问数据库, 防止读到同一条记录 --------------------编程问答-------------------- select * from table(xlock) 加上排他锁 --------------------编程问答-------------------- http://bbs.csdn.net/topics/80277692
http://database.51cto.com/art/201011/232997.htm
在查询时使用排他锁
我们在查询某些记录的时候,不希望它被其它进程所查询,那么我们可以使用排他锁。
SELECT * FROM dbo.ShortMessage WITH (XLOCK HOLDLOCK) WHERE OtherPartyID = 1
这里我还使用了一个HOLDLOCK,是为了使这个锁保持到整个事务的结束 --------------------编程问答-------------------- 使用排他锁,楼上的就可以了 --------------------编程问答-------------------- --------------------编程问答-------------------- 排他锁 楼主可以详细了解下
补充:.NET技术 , C#