求助程序异常情况~~~程序异常~~~程序异常~~~

jinhai0411 2011-12-08 02:59:05
现有程序
1 界面传入 参数A 参数B
2 后台代码判断 select * from table where [字段1]='参数A' and [字段2]='参数B'
if(table.Rows.Count>0)
提示:已有记录,不能重复录入
else
{
进行Insert操作;
提示:Insert 成功/失败
}
问题: 现在出现 数据库中还是会出现 重复记录 < 参数A 和 参数B 完全相等的情况>

猜想: 因为数据传递是无线网络,数据库中出现的重复数据的时间点 有扎堆的现象<几条数据的出现时间差不多>
是不是因为无线网络卡的时候!!
人工点击保存按钮<当前数据库没有数据,执行插入...>
因为网络原因<插入结果一直没有返回,以为没有点中按钮>
再次点击保存按钮<上一条数据还没有插入成功,所以Table.Rows.count==0>
继续插入 <出现相同记录>

1 是不是这个原因?如果是这个原因,怎么处理?
2 还有没有其他原因?


...全文
84 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangji666666 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhangbin1988 的回复:]
爲什麽不在插入數據庫的時候判斷呢?

SQL code

IF NOT EXISTS( select * from table where [字段1]='参数A' and [字段2]='参数B' )
插入SQL
[/Quote]
正解
ayzen1988 2011-12-08
  • 打赏
  • 举报
回复
爲什麽不在插入數據庫的時候判斷呢?

IF NOT EXISTS( select * from table where [字段1]='参数A' and [字段2]='参数B' )
插入SQL
peng2739956 2011-12-08
  • 打赏
  • 举报
回复
会不会是 1条记录同时插入的时候,出现的这个问题,如果是在服务器上很可能出现这个问题,建议加锁 最好是双重锁 ,另外 数据库加个约束
jinhai0411 2011-12-08
  • 打赏
  • 举报
回复
没有人回答??
jinhai0411 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ttllxx 的回复:]
用begin trains 来保护。
[/Quote]
百度上面没有你这个东西~~~
ttllxx 2011-12-08
  • 打赏
  • 举报
回复
用begin trains 来保护。
jinhai0411 2011-12-08
  • 打赏
  • 举报
回复
SF
坐等高人

110,536

社区成员

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

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

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