执行SQL插入数据的时候数据顺序错乱谁知道为什么么?

我查出的数据存放到list里面然后接下来执行这个方法publicintAddChapter(IList<ZLChapterList>zlbookchapterlist){... 我查出的数据存放到list里面然后接下来执行这个方法
public int AddChapter(IList<ZLChapterList> zlbookchapterlist)
{
int count = 0;
foreach (ZLChapterList zlc in zlbookchapterlist)
{
string sql = @" inster。。。。";//就是一个才插入语句
SqlParameter[] para = new SqlParameter[]
{ (。。。。。)//参数部分
new SqlParameter("@voluemeindex",zlc.Voluemeindex),
new SqlParameter("@imgflag",zlc.Imgflag),
new SqlParameter("@bookauthor",zlc.Bookauthor)
};
count = DBHelpercj.ExecuteCommand(sql, para);
}
return count;
}
循环遍历list里面的值,插入数据,执行下来的数据非常乱,(大约两万条数据)
但是我要是一步一步的调试,就不乱,谁能帮我解决这个问题么?谢谢大家了
list的书序是正确的,查出来的数据顺序是没问题的,但是在插入的时候出现问题。。。他插入进去的就会乱,怎么能解决这个问题呢?
展开
 我来答
fupx2008
2011-11-18 · TA获得超过687个赞
知道小有建树答主
回答量:1203
采纳率:0%
帮助的人:776万
展开全部
可能是跟数据库主键字段有关,如果设置主键ID为自增的话,插入就不会行乱了。
追问
这种情况是为什么?为什么会造成这个问题,谢谢你
追答
取数据时如果没有指定Order By,则先是按主键排序的,如果没有主键,则按其它排序(可能是第一列)
kas68310
2011-11-18 · TA获得超过3637个赞
知道大有可为答主
回答量:1468
采纳率:33%
帮助的人:1175万
展开全部
单步不乱,那么乱序出现在循环端的可能性先排除。因为你的执行命令是一行一条连续发出且间隔时间几乎没有,可能造成这数据库服务器在接收/处理这几万条数据时发生了乱序。
建议是,如果实在不能找到原因,就先把数据存到一个临时存储用的表,在每条记录发出时记录流水号(行号)用于标记先后顺序,然后用insert...select ...order by...来把排序后的数据插入正表。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不想起名字了2333
2011-11-18 · TA获得超过2447个赞
知道大有可为答主
回答量:1931
采纳率:50%
帮助的人:1851万
展开全部
三楼正解~~~~~~~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0午夜流浪0
2011-11-18 · TA获得超过441个赞
知道小有建树答主
回答量:376
采纳率:0%
帮助的人:248万
展开全部
插入之前先对list进行一下排序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式