数据为什么会偶尔重复写入数据库

tianyamoon 2006-10-27 10:28:58



我用C#写了一段代码写入数据到log ,logdetail表。表结构分别是
表log
A
a1
a2
表logdetail
A B
a1 b1
a1 b2
a1 b3
a2 c1
代码里面先插入log表,然后在一个循环里插入logdetail(调用一个写入数据库的函数,这个函数每次写入都new 一个connection)。上面是正确的结果,但是偶尔会出现
表log
A
a1
a1
a2
表logdetail
A B
a1 b1
a1 b1
a1 b2
a1 b2
a1 b3
a1 b3
a2 c1
即一条记录被重复插入几次。不知道是什么原因,盼高手指点。另外,此数据库平时负荷较大.下面是相关的Code
for(int ii = 0;ii < SaleslogDetCollection.Count ; ii++)
{
SaleslogDetailDataRow temp = (SaleslogDetailDataRow)SaleslogDetCollection[ii];
SaleslogDetail.InsertWithIndentity(salesformcode,temp.MobileCode,temp.IMEICode,temp.SoldDate.ToString(),temp.SoldPrice,temp.ConsumerName,temp.ConsumerPhone,temp.DataSource);//插入logdetail
}
Saleslog.InsertWithOutIndentity(salesformcode,salesLogDr.ShopCode,salesLogDr.SalesRepCode,salesLogDr.PromoterCode,salesLogDr.PhaseCode,salesLogDr.CreateUser,salesLogDr.CreateDate.ToString());//插入log
...全文
247 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
oolongTea 2006-10-28
  • 打赏
  • 举报
回复
建议:
1、数据库打补丁
2、在出错的地方多跟踪几次看
JasonHeung 2006-10-28
  • 打赏
  • 举报
回复
该段代码是否被多线程调用?

最好改为存储过程!
股神 2006-10-28
  • 打赏
  • 举报
回复
up
lzpsky 2006-10-28
  • 打赏
  • 举报
回复
你把对这两个表操作的sql放入到一个string[]数组中通过一个事物去提交
tianyamoon 2006-10-28
  • 打赏
  • 举报
回复
ding
tianyamoon 2006-10-28
  • 打赏
  • 举报
回复
没有被多线成调用,但是会有多个用户同时执行这段代码,不过每个用户插入的数据都是不同的
相关推荐
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-10-27 10:28
社区公告

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