我編寫了一個小型表單,它從數據庫表(SQL CE 3.5)讀取數據並將其顯示在DataGridView控件中。這工作正常。然後我修改它以在顯示數據之前對數據進行更改,這似乎也可以正常工作,但它似乎並未將更改實際提交到數據庫。代碼如下:無法將DataSet更改提交到數據庫
using (SqlCeConnection conn = new SqlCeConnection(
Properties.Settings.Default.Form1ConnectionString
)) {
conn.Open();
using (SqlCeDataAdapter adapter = new SqlCeDataAdapter(
"SELECT * FROM People", conn
)) {
//Database update command
adapter.UpdateCommand = new SqlCeCommand(
"UPDATE People SET name = @name " +
"WHERE id = @id", conn);
adapter.UpdateCommand.Parameters.Add(
"@name", SqlDbType.NVarChar, 100, "name");
SqlCeParameter idParameter = adapter.UpdateCommand.Parameters.Add(
"@id", SqlDbType.Int);
idParameter.SourceColumn = "id";
idParameter.SourceVersion = DataRowVersion.Original;
//Create dataset
DataSet myDataSet = new DataSet("myDataSet");
DataTable people = myDataSet.Tables.Add("People");
//Edit dataset
adapter.Fill(myDataSet, "People");
people.Rows[0].SetField("name", "New Name!");
adapter.Update(people);
//Display the table contents in the form datagridview
this.dataGridView1.DataSource=people;
}
}
的顯示器,像這樣的形式:
望着但是通過Visual Studio的服務器資源管理器的表,不顯示任何變化表。
我在做什麼錯?
.update方法沒有錯誤(在粘貼的代碼之外嘗試捕獲是不是隱藏它)? – ktharsis 2010-09-10 13:57:02
@ktharsis - 不,不是 – 2010-09-10 14:23:43