首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
.NET技术
C#
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
更新一个数据库出现更新错误的问题
[无满意答案结帖]
加为好友
发送私信
在线聊天
repitile
repitile
等级:
可用分等级:
贫农
总技术分:
432
总技术分排名:
36013
揭贴率:
83.33%
发表于:
2008-08-21 10:45:24
楼主
用一个事务,中间执行一个delete操作删除所有纪录和一个insert操作插入一些新的纪录,一般情况下执行结果都对;但是有时出现一个奇怪的现象,更新的结果中纪录总是重复的一条或者几条,很多,但是都重复。不知道可能是什么情况呢???
另外,更新的过程中可能有其他的程序在读取该表。
问题点数:
100
回复次数:
11
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
kbryant
假扮的天使
等级:
可用分等级:
小财主
总技术分:
7975
总技术分排名:
2657
3
发表于:
2008-08-21 10:56:08
1
楼 得分:
0
可能你在delete的时候别人正在读取,所以没有delete成功,然后又insert进去就重复了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
repitile
repitile
等级:
可用分等级:
贫农
总技术分:
432
总技术分排名:
36013
发表于:
2008-08-21 11:10:59
2
楼 得分:
0
try
{
cmd.executeNonQuery()
}
catch(Exception e)
{
trans.rollback();
}
没有catch到exception,应该是执行成功了吧
引用 1 楼 kbryant 的回复:
可能你在delete的时候别人正在读取,所以没有delete成功,然后又insert进去就重复了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
hanhenry
火柴盒
等级:
可用分等级:
贫农
总技术分:
316
总技术分排名:
44614
发表于:
2008-08-21 11:12:27
3
楼 得分:
0
最好加个事务
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zhangxuyu1118
zxy
等级:
可用分等级:
中农
总技术分:
1980
总技术分排名:
11148
发表于:
2008-08-21 11:18:18
4
楼 得分:
0
启用事务。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
GhostAdai
幽灵阿呆
等级:
可用分等级:
富农
总技术分:
3362
总技术分排名:
6290
发表于:
2008-08-21 11:27:58
5
楼 得分:
0
事务处理
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yagebu1983
君子在下则排一方之难,在上则止息万物之嚣. 人以懦弱无刚为大耻,男儿自立,必须有倔强之气.
等级:
可用分等级:
贫农
总技术分:
13164
总技术分排名:
1455
发表于:
2008-08-21 11:29:06
6
楼 得分:
0
事务中加锁!!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
clxcxx
爱一朵花就陪她绽放!
等级:
可用分等级:
贫农
总技术分:
1808
总技术分排名:
13325
发表于:
2008-08-21 11:31:01
7
楼 得分:
0
帮顶+学习
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
sl2161
等级:
可用分等级:
中农
总技术分:
461
总技术分排名:
41573
发表于:
2008-08-21 11:33:50
8
楼 得分:
0
用事务
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zhzuo
秋枫
等级:
可用分等级:
小地主
总技术分:
70680
总技术分排名:
95
发表于:
2008-08-22 21:32:28
9
楼 得分:
0
你的表结构是不是建的不好,或者主键设计的有问题。另外可以在SQL语句层面(使用存储过程)和ado.net层面使用SqlTransation来处理事物。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
SuenSun
阿松
等级:
可用分等级:
长工
总技术分:
44
总技术分排名:
167879
发表于:
2008-08-22 21:42:29
10
楼 得分:
0
try
{
cmd.executeNonQuery() ;
trans.commite(); //加上这一句吧
}
catch(Exception e)
{
trans.rollback();
}
代码就这样嘛,可能还差点东西 吧,//trans.commite();
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
repitile
repitile
等级:
可用分等级:
贫农
总技术分:
432
总技术分排名:
36013
发表于:
2008-08-28 08:38:38
11
楼 得分:
0
已经加了commit()了
引用 10 楼 SuenSun 的回复:
try
{
cmd.executeNonQuery() ;
trans.commite(); //加上这一句吧
}
catch(Exception e)
{
trans.rollback();
}
代码就这样嘛,可能还差点东西 吧,//trans.commite();
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友