Я написал небольшую форму, которая считывает данные из таблицы базы данных (SQL CE 3.5) и отображает их в элементе управления DataGridView.Это отлично работает.Затем я изменил его, чтобы внести изменения в данные перед его отображением, что также, кажется, работает нормально, за исключением того, что оно, по-видимому, фактически не фиксирует изменения в базе данных.Код выглядит следующим образом:
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, это не так.показать какие-либо изменения в таблице.
Что я делаю не так?