C#winform timer事件中循环取数据的问题

lmz2004_01 2012-04-13 01:26:40
timer事件中。利用for循环,通过访问存储过程取数据,存储过程大概如下:
begin
declare @fid int
select top 1 fid = @fid from table where flag=1
update table set flag=2 where fid=@fid
......还有一些update执行语句

select * from table where fid = @fid

end

目前存在的问题是,有时候出现两次循环取的是同一条数据的问题,正常来讲flag已经被update成2了,就不应该检索出相同fid的数据了,但目前确实存在这个问题。是不是循环执行的速度太快了???update还没有执行成功???
...全文
286 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
烟灰洒落键盘 2012-04-17
  • 打赏
  • 举报
回复
数据库锁机制
lmz2004_01 2012-04-17
  • 打赏
  • 举报
回复
应该如何解决这个问题呢?
lmz2004_01 2012-04-13
  • 打赏
  • 举报
回复
取数据是在一个存储过程里呀,存储过程怎么执行呢,一个存储过程没执行完,另一个不是等待吗?那应该如何解决这个问题呢?
bdmh 2012-04-13
  • 打赏
  • 举报
回复
第一个还没更新完,后一个操作进行了select

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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