111,097
社区成员




DataSet dataSet = new DataSet();
OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=a.mdb");
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand("select c1,c2 from t1", connection);
OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);
//执行完成后adapter.UpdateCommand=null;为什么???
adapter.UpdateCommand = cb.GetUpdateCommand();
//加了这一句后,adapter.UpdateCommand有值了。
MessageBox.Show(adapter.UpdateCommand.CommandText);
//值为:"UPDATE t1 SET c2 = ? WHERE ((c1 = ?) AND ((? = 1 AND c2 IS NULL) OR (c2 = ?)))"
connection.Open();
adapter.Fill(dataSet, "t1");
dataSet.Tables[0].Rows[0][1] = "aaaaaaaaa";
adapter.Update(dataSet, "t1");
//执行完成后,数据库内的值没有变化!
connection.Close();