如题:
    假如DataTable 中有三列三行
  Column1             Column2             Column3
   Row1_C1            Row1_C2              Row1_C3
   Row2_C1            Row2_C2              Row2_C3
   Row3_C1            Row3_C2              Row3_C3现在我更改了 Row1_C1、Row2_C3、Row3_C2,有没有方法批量更新这三个被更改的值,但其他的值不写入数据库呢???

解决方案 »

  1.   


    SqlConnection myConnection = new SqlConnection(@"server=B321451588E441A\SQL2005;uid=sa;pwd=111;database=Pubs"); 
    DataSet myDataSet = new DataSet(); 
    SqlDataAdapter myDataAdapter = new SqlDataAdapter("Select * From Authors", myConnection );
    myDataAdapter.Fill( myDataSet, "Authors" );
    // Change value of first row
    myDataSet.Tables[ "Authors" ].Rows[ 0 ][ "au_fname" ] = "张三";
    // Update the Database Table
    SqlCommandBuilder myBuilder = new SqlCommandBuilder( myDataAdapter ); myDataAdapter.Update( myDataSet, "Authors" );给你个例子,可以看一下。
      

  2.   

    可以我做过一个类似的例子:
    建议你给数据库加一个字段:timeStamp, 这个字段的值是update这个数据的时间.
    比如说:
    public void UpdateDate()
    {
       //....
       A.timeStamp = DateTime.Now;//A是你更新的对象.
       //....
    }
    在对数据库update的时候,先判断当前A对象的timeStamp 和数据库现在的里面存的A对象的timeStamp 是否一致,一致则不更新,否则更新.这个能提高大量数据更新的时间.也许对您有帮助.