0
OleDBCommandBuilder 및 입력 된 데이터 집합으로 DB를 업데이트 할 때 문제가 있습니다. 준비된 패널로 데이터베이스를 편집 할 때, 업데이트 후에 DataGridView에서 변경 사항이 발생합니다. 그러나 이러한 변경은 일시적입니다. 응용 프로그램을 다시 시작하면 변경 사항이 데이터베이스의 원래 정보로 바뀝니다. 누구나 아래에 주어진 코드 문제를 볼 수 있습니까?C# 테이블 어댑터를 업데이트해도 DB가 업데이트되지 않습니다.
var row = this.dataGridViewProducts.SelectedRows[0];
DataRowView rowView = row.DataBoundItem as DataRowView;
ProductsRow productRow = rowView.Row as ProductsRow;
if (row != null)
{
ProductForm formEdit = new ProductForm(ref productRow);
bool success = false;
while (success == false)
{
try
{
formEdit.ShowDialog();
if (this.productsTableAdapter1.Connection.State != ConnectionState.Open)
this.productsTableAdapter1.Connection.Open();
var changes = nwindDataSet1.Products.GetChanges();
if (changes != null)
{
OleDbCommandBuilder builder = new OleDbCommandBuilder(productsTableAdapter1.Adapter);
productsTableAdapter1.Adapter.UpdateCommand = builder.GetUpdateCommand();
productsTableAdapter1.Adapter.Update(changes);
nwindDataSet1.Products.AcceptChanges();
}
success = true;
}
catch (Exception error)
{
MessageBox.Show(error.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
의 모든 행이 경우
DataAdapter
의
UpdateCommand
속성을 지정해야만들기 슈어는 또한 확인/ – DoeUS
좋아,하자 왜 ==) – Sergio