public void CreateSqlDataAdapter() {
    string mySelectText = "SELECT * FROM Categories ORDER BY CategoryID";
    string mySelectConn = "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind";
    SqlDataAdapter myDataAdapter = new SqlDataAdapter(mySelectText,mySelectConn);
    myDataAdapter.UpdateCommand.CommandText = "UPDATE Categories SET Description='Cheeses, Milk, Ice Cream' WHERE CategoryName='Dairy Products'";
    myDataAdapter.UpdateCommand.Connection = (SqlConnection)myDataAdapter.SelectCommand.Connection;
}public DataSet CreateCmdsAndUpdate(DataSet myDataSet,string myConnection,string mySelectQuery,string myTableName) 
{
    OleDbConnection myConn = new OleDbConnection(myConnection);
    OleDbDataAdapter myDataAdapter = new OleDbDataAdapter();
    myDataAdapter.SelectCommand = new OleDbCommand(mySelectQuery, myConn);
    OleDbCommandBuilder custCB = new OleDbCommandBuilder(myDataAdapter);    myConn.Open();    DataSet custDS = new DataSet();
    myDataAdapter.Fill(custDS);    //code to modify data in dataset here    myDataAdapter.Update(custDS, myTableName);    myConn.Close();    return custDS;
 }

解决方案 »

  1.   

    MSDN是最全的,参考一下吧!有例题。
      

  2.   

    SqlConnection conn=new SqlConnection("server=localhost;database=Northwind;pwd=;uid");
    SqlCommand comm=conn.CreatCommand();
    comm.CommandText="Select * from employee";
    SqlDataAdapter adp=new SqlDataAdapter();
    adp.UpdateCommand=comm;
    DataSet ds=new DataSet();
    conn.Open();
    adp.Fill(ds,"employee");
    conn.Close();
     
      

  3.   

    dataset中保存了每一行数据的不同版本,所谓不同版本就是指
    是新增的数据还是修改的还是删除的还是原始的意思。
    SqlDataAdapter 会根据数据集中不同的版本的数据来分别执行SqlDataAdapter
    中不同的sqlcommand,并将数据集中的字段值作为参数传给commandtext中的params这就实现了数据的更新。
      

  4.   

    如果更改了好多记录,SqlDataAdapter会不会自动更新每一条记录,还是在代码中要建立循环更新?
      

  5.   

    只要在dataset作了更改。
    也就是dataset中有了更改的版本的数据,那么,都会一进行更新。
    无需自己建立循环来处理。
      

  6.   

    那InsertCommand updatecommand应该怎么写?主要是参数不会写,不知更改了的数据如何表示出来
      

  7.   

    当有了selectcommand之后,可以通过以下的例子来生成其它的command
    OleDbCommandBuilder custCB = new OleDbCommandBuilder(myDataAdapter);
    想知道怎么写的,打印出来看看不就知道了。