使用Dataset更新数据库的问题。请求帮助...

raistlinql 2011-07-19 02:44:57
代码如下:
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);这一行,说是内存损坏。
请高手指点,帮忙解决。
...全文
36 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
raistlinql 2011-07-19
  • 打赏
  • 举报
回复
呃 我试试看
lsmod 2011-07-19
  • 打赏
  • 举报
回复
几个方法,你可以直接执行Insert sql句话把数据存入数据库

要么你把定义dataRow的放入while里

while(....)
[
var dataRow = ............;
..........
}

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧