的程序从一个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行,大部分数据是正确的,一小部分数据顺序错误.