使用Dataset更新数据库的问题。请求帮助...
代码如下:
sr1 = new StreamReader("d:\\" + DateTime.Now.ToUniversalTime().ToString("yyyyMMdd") + ".txt");
SqlConnection con = new SqlConnection(myProg.MyConn());
con.Open();
SqlDataAdapter sqlDataAdpter = new SqlDataAdapter("select * from [raitest].[dbo].[DownMsg]", con);
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(sqlDataAdpter);
DataSet ds = new DataSet();
sqlDataAdpter.Fill(ds, "DownMsg");
DataRow dataRow = ds.Tables["DownMsg"].NewRow();
while ((s = sr1.ReadLine()) != null)
{
string[] parts = s.Split(' ');
dataRow["ScrFileName"] = parts[0];
dataRow["DecFileName"] = parts[1];
dataRow["ScrPath"] = parts[2];
dataRow["DecPath"] = parts[3];
dataRow["Status"] = parts[4];
dataRow["BeginTime"] = parts[5];
dataRow["EndTime"] = parts[6];
ds.Tables["DownMsg"].Rows.Add(dataRow);
sqlDataAdpter.Update(ds, "DownMsg");
}
sr1.Close();
con.Close();
目的是读取文件中的一行,用“ ”即空格分割,并插入数据库。
现在代码存在这样的问题:
while循环,第一次执行一切正常,能够插入数据库,但是第二次循环的时候就会报错。
错误出在ds.Tables["DownMsg"].Rows.Add(dataRow);这一行,说是内存损坏。
请高手指点,帮忙解决。