各位大侠:
我是做客运软件的,现在用.net的C#写了一个软件,情况是这样的,当我按下[受理]按钮后,有时会向数据库里写入二条记录.当初考虑到是多线程的关系,在这个[受理]按钮处加了个变量,boolean型来控制他控的太快会一次性写入二条相同的内容,这种情况概率是很低的,加了这个变量后还是出现这种现象,自己调试麻又调不出,写入数据是在一个事务里面的.
不知那位大侠也有类事情况?
我是做客运软件的,现在用.net的C#写了一个软件,情况是这样的,当我按下[受理]按钮后,有时会向数据库里写入二条记录.当初考虑到是多线程的关系,在这个[受理]按钮处加了个变量,boolean型来控制他控的太快会一次性写入二条相同的内容,这种情况概率是很低的,加了这个变量后还是出现这种现象,自己调试麻又调不出,写入数据是在一个事务里面的.
不知那位大侠也有类事情况?
解决方案 »
- post数据问题
- DataGridView单元格内容换行问题
- 请问C#中有像preg_replace_callback这样的函数吗??
- GGJJ:如何进行广告轮流播放?
- 怎样解决使用 DataSet 更新数据库时出现的数据并发异常? 来者有分
- 怎么判断是否使用了代理.
- 100分问一个DataGrid的弱弱问题!顶者有分啊!
- 学生发帖求指教用BinaryReader和BinaryWriter读写二进制文件问题
- 求一简单正则表达式---1~8位的数字
- DataGrid不能编辑和更新
- 请教webbrowser有没有强制运行完后再运行下一句?如 this.webBrowser1.Navigate(manager_html, false);
- C#正则表达式
调试一下看看!!
1.首先也就是赋值,LugBill lugBill=new LugBill();
lugBill.name="";
2.Common.SystemService.EntityUpdate(lugBill);这句就是实现往数据库里写东东,
EntityUpdate()这个方法是封装好的方法;因为做一次票子受理,要更新多张表,所以是个事务.
3.那个布尔值变量process只是通过变来防止他按的过快又受理一次,当process==false时就return掉.
4.象那种sql语句值行了两次,我想这个不用在多说了.是的话也会不概率性问题.
create trigger insertTB
on table1 for insert
as
if exists(select [_id] from table1 where exists(select [_id] from inserted where [_name]=table1.[_name]) group by [_id] having count(*)>1)
begin
delete from table1 where table1.[p_id]=(select [_id] from inserted)
end