用ADO操作sybase的表。其中有一张登陆表。原则上应该只有1条记录
但是两个人同时登陆的时候,因为没有主键,只有姓名所以同时2条数据被登陆进去了
我的做法是
一开始select * from 表 holdlock
但是holdlock后两个人都有读的权限。
然后2个人都发现表里没数据,开始insert
insert的时候排他。一个人insert提交完之后另一个人insert
结果就变成了2条数据。
有没有方法在一个人select的时候就把表给排他。另一个不能同时select
只有当一个人select,insert全操作完了,另一个人才开始select