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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了执行SQL插入数据的时候数据顺序错乱谁知道为啥么?相关的知识,希望对你有一定的参考价值。

我查出的数据存放到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的书序是正确的,查出来的数据顺序是没问题的,但是在插入的时候出现问题。。。他插入进去的就会乱,怎么能解决这个问题呢?

可能是跟数据库主键字段有关,如果设置主键ID为自增的话,插入就不会行乱了。追问

这种情况是为什么?为什么会造成这个问题,谢谢你

追答

取数据时如果没有指定Order By,则先是按主键排序的,如果没有主键,则按其它排序(可能是第一列)

参考技术A 单步不乱,那么乱序出现在循环端的可能性先排除。因为你的执行命令是一行一条连续发出且间隔时间几乎没有,可能造成这数据库服务器在接收/处理这几万条数据时发生了乱序。
建议是,如果实在不能找到原因,就先把数据存到一个临时存储用的表,在每条记录发出时记录流水号(行号)用于标记先后顺序,然后用insert...select ...order by...来把排序后的数据插入正表。
参考技术B 三楼正解~~~~~~~~~ 参考技术C 插入之前先对list进行一下排序

请问组三中奖规则谁知道?

涡街流量计LUGB-14-100-3NY什么意思?锐捷怎么把旧交换机里的数据导入新的交换机?长安悦翔烧机油跑了十三万多公里修一下要好多钱?怎么用下载的源代码处理点云数据,求大神们指导啊

参考技术A 比如vector,map,set等,在使用这些容器的过程中,我们会大量用到的操作就是插入操作,比如vector的push_back,map的insert,set的insert。这些插入操作会涉及到两次构造,首先是对象的初始化构造,接着在插入的时候会复制一次,会触发拷贝构造。但是很多时候我们并不需要两次构造带来效率的浪费,如果可以在插入的时候直接构造,就只需要构造一次就够了。 C++11标准已经有这样的语法可以直接使用了,那就是emplace。vector有两个函数可以使用:emplace,emplace_back。emplace类似insert,emplace_back类似push_back。 两者的区别 当调用insert,push_back时,我们将元素类型的对象传递给insert,元素的对象被拷贝到容器中,而当我们使用emplace,emplace_back时,我们将参数传递元素类型的构造函数,emplace使用这些参数在容器管理的内存空间中直接构造元素。省去一次拷贝
12+30=手动输入:手动输入:Ⅹh⒐、 P Щ!

1.墨鱼肉泡发洗净,放搅拌机中打成茸。在加鸡蛋清和少许葱花,姜末,淀粉搅拌均匀。把水发海参洗干净放锅里加刚好能泡过海参的水中(肉汤更好)。加入白醋少许,酱油,盐,味精,胡椒,煮5分钟。捞出沥干水。把第一部做好的墨鱼泥酿进海参里。放入蒸笼。蒸到还是肚子里的墨鱼成型。取出待用。点火热锅下油热到7成,放下葱花,姜,泡椒丁,炒一下。在加入水(肉汤更佳)。水要可以泡过接下来要放的材料。加水后放,醪糟汁,酱油,耗油,鸡精,白糖,味精煮开。下入海参,花菜,小火煮20分钟。大火收汁。捞出淋入香油。 2.猪肥瘦肉细细斩成肉末;海参入沸水锅中汆烫2、3分钟,盛出备用;起炒锅,热锅凉油爆香葱蒜末;下猪肉末,煸炒至变色并水分收干;下入酱油;下入料酒,煸炒均匀;加入鸡汤,翻炒均匀;待汤汁沸腾后,加入少许盐、糖调味;下入海参,翻炒均匀后转微火,盖锅盖慢慢煨透,大约15到20分钟吧;少量多次调入水淀粉,勾出喜欢的浓度;待汤汁再次沸腾后,滴入几滴鸡油(猪油、色拉油都行),翻炒均匀,起锅。装盘后,用汆烫过的蔬菜装饰,即可。 3.海参切成大片;葱白切成约5cm的大段,姜切丝;海参凉水入锅,大火煮开,烧5分钟,捞出沥干水分备用;小锅内加入猪油,烧至5、6成热时加入葱白,小火慢慢炸至金黄色,关火;捞出葱段备用,葱油留用;另起锅,加入姜丝、盐、料酒、酱油和糖,大火烧开;加入海参;加入葱段;再次烧开后转微火,煨2、3分钟;转大火,少量多次加入水淀粉(大约1大勺)勾芡,转中火烧透收汁;淋入葱油,关火。
参考技术B 在每一期的彩票号码,就会出现一群一个或两个组,三组六选择下午6点后,偶数不是失踪。后二人工64注6期倍投根据规则的数目
势不好的时候也要适当止损,
不能跟它硬杠,

反正天天都有的,

每天都要给自己定一个目标,见好就收,

不能太贪,

说了这么多就是不想看到朋友走老哥我以前的路!

我自己琢磨了一套心得,

想知道止损的方法找 (46..⒉88...2.0 扣 hao);

朋友们可以一起来探讨经验。
大家可以多借鉴名家的玩法技巧,大家在实战当中可以结合自己的想法来玩效果会好点,大家也可以多留言,多分享,共同进步。
解不等式loga(x- )>18 设函数f(x)=ax满足条件 当x∈(-∞,0)时,f(x)>1;当x∈(0,1 时,不等式f(3mx-1)>f(1+mx-x2)>f(m+2)恒成立,求实数m的取值范围

以上是关于执行SQL插入数据的时候数据顺序错乱谁知道为啥么?的主要内容,如果未能解决你的问题,请参考以下文章

谁知道Access数据库行数有没有限制?是多少?

SQL执行插入时,遇到重复键值时,如何设置才能让新插入的数据覆盖原有旧数据;要用存储过程么?

谁知道怎么把java web项目打包成exe可执行文件,要连数据库一起打包

在 Oracle Sql Developer 中插入 SP

向SQL数据库表中插入数据时无法输入中文?

oracle用sql语句插入数据,为啥老是显示正在运行