如果记录很多做了修改,那么效率比较高.但如果只有一条或几条数据那么效率不如SqlCommand.

解决方案 »

  1.   

    .
    .sqlDataAdapter的声明
    .
    this.sqlDataAdapter.Fill(this.dataSet1,"表名");
    this.dataSet1.表名.Rows
    .
    . 进行修改
    .
    this.sqlDataAdapter.UpData(this.dataSet1);
      

  2.   

    SqlDataAdapter更新方式效率比SqlCommand要差但更安全,主要问题是进行了更多的校验,你可以看看下面的连接,它对SqlDataAdapter更新方式方式说的很明白。
    http://www.microsoft.com/china/msdn/library/default.mspx
      

  3.   

    楼上的大哥,问你一下,为什么我一直登陆不了中文版的msdn呢.
      

  4.   

    用SqlDataAdapter方式更新时能不能用事务?
      

  5.   

    能使用事务:
    SqlConnection mCn=new SqlConnection("...");
    SqlTransaction mTr=mCn.BeginTransaction();
    try
    {

    SqlDataAdapter mDa=new SqlDataAdapter("select....",mTr);
    mDa.SelectCommand.Transaction=mTr;
    DataSet mDs=new DataSet();
    mDa.Fill(mDs);
    mTr.Commit();
    }
    catch
    {
    mTr.Rollback(); 
    }
      

  6.   

    我认为最好的办法是直接使用SQL语句,更新
      

  7.   

    string strconn="data source=(local);initial catalog=SHITI;integrated security=SSPI";
    SqlConnection conn=new SqlConnection(strconn);
    SqlCommand select;
    string strselect_choice;
    strselect_choice="select * from choice ";SqlDataAdapter da_write=new SqlDataAdapter(strselect_choice,conn);
    select=new SqlCommand(strselect_choice,conn);
    da_write.SelectCommand=select;
    da_write.Fill(ds,"write");
    conn.Open();