System.Data.SqlClient.SqlDataAdapter cmicDa
=new System.Data.SqlClient.SqlDataAdapter("select * from t1",Cn);
System.Data.DataSet cmicDs=new System.Data.DataSet();
cmicDa.Fill(cmicDs);
 
System.Data.DataRow cmicDr=cmicDs.Tables[0].NewRow();
cmicDr[0]="1";
cmicDs.Tables[0].Rows.Add(cmicDr);//加入第一条数据

cmicDr=cmicDs.Tables[0].NewRow();//加入第二条数据
cmicDr[0]="2";
cmicDs.Tables[0].Rows.Add(cmicDr); System.Data.SqlClient.SqlCommandBuilder cmicCb=
new System.Data.SqlClient.SqlCommandBuilder(cmicDa);
cmicDa.Fill(cmicDs);//批量更新
注:代码没用VS.NET写,可能有语法错误。

解决方案 »

  1.   

    对不起,没看清问题,我认为批量数据更新最有效率方法是,用SqlCommand直接执行Update语句。
      

  2.   

    http://www.csdn.net/Develop/Read_Article.asp?Id=21701
      

  3.   

    System.Data.SqlClient.SqlDataAdapter .update(DataSet)
      

  4.   

    设置SqlDataAdapter的insertcommand updatecommand 及deletecommand 的属性就可以直接用update(dataset)
      

  5.   

    我做过测试,采用大家提供的方式,一次更新5000条记录大概需要20分钟.(db server是4cpu和4G 内存),有没有更好的方法。
      

  6.   

    直接抛SQL语句最好Cn.ExcuteNoQuery(SQL语句)这样慢也是你数据库的问题了
      

  7.   

    一次更新5000条记录大概需要20分钟.(db server是4cpu和4G 内存)是你的数据库有问题吧,就算我select * 然后1条条循环也不会这么久(DB是2.8G cpu,1G DDR)
      

  8.   

    谢谢大家的帮助,我看了一下,昨天测试的表是用DTS导入的,忘了加上主键了,这张表有10000条记录,因此慢了。我今天早上又测试了一下,5000条记录用了00:01:39:0156250。这样的速度还是可以接受的。谢谢大家了,希望以后还能和大家一块交流。