的程序从一个TXT文件中读取一行,并按"|"拆分后拼成一句SQL语句,然后执行.
拆分,拼SQL语句,执行,这三个过程都是在for循环内完成的.按道理说应该读取一行往数据库中插入一行,这样数据库中的数据库排列顺序应该和txt中一致. 但是实际运行后发现某些数据排序与TXT却不一样,先后次序混乱了.比如TXT中是:
1|2|3|
2|1|3|
3|2|1|
进入数据库再查询出来却变成了:
1|2|3|
3|2|1|
2|1|3|
请问有没有人能够解决这个问题呢?
问题补充:
变量都在循环里重新定义,并赋值的.循环代码如下: count是txt文件总行数. for (int jj = 0; jj < count; jj++) { line = sr.ReadLine(); string[] arrStr = line.Split('|'); if (arrStr.Length != 25) { throw new Exception("当前指定数据文件无法转换.出错行为:" + jj.ToString() + ""); } string a, b, c, d, ee, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x; a = arrStr[0].ToString().Trim(); b = arrStr[1].ToString().Trim(); c = arrStr[2].ToString().Trim(); ... sSQL = "insert into tblDetails values('" + Pno + "','" + a + "','" + b + "','" + c + "', ... ,'" + x + "',getdate(),0)"; if (sc.ExecuteNonQuery(sSQL, false, null) <= 0) { MessageBox.Show("数据导入过程发生错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Stop); throw new Exception("导入语句执行失败."); } } 插入错误的情况不是很多,TXT文件共20W行,大部分数据是正确的,一小部分数据顺序错误.