сохранить новую запись, введенную из Datagridview в базу данных - PullRequest
0 голосов
/ 14 сентября 2011

Я использую DataSet и TableAdapter для заполнения Datagridview.Datagridview позволяет вставлять новые записи внизу.Теперь, когда я ввожу значения для новой записи в Datagridview, эта запись автоматически не сохраняется обратно в базу данных.Какое событие нужно обработать или какой код мне нужно написать, чтобы сохранить новую запись, сохраненную в базе данных.

Я использую C #.

Ответы [ 2 ]

1 голос
/ 14 сентября 2011

вы можете поместить где-нибудь кнопку Сохранить, и когда пользователь нажимает эту кнопку, вы вызываете метод, подобный этому:

private void UpdateDataSet(DataSet dataSet)
{
    // Check for changes with the HasChanges method first.
    if(!dataSet.HasChanges(DataRowState.Modified)) return;

    // Create temporary DataSet variable and
    // GetChanges for modified rows only.
    DataSet tempDataSet = 
        dataSet.GetChanges(DataRowState.Modified);

    // Check the DataSet for errors.
    if(tempDataSet.HasErrors)
    {
        // Insert code to resolve errors.
    }
    // After fixing errors, update the data source with  
    // the DataAdapter used to create the DataSet.
    adapter.Update(tempDataSet);
}
0 голосов
/ 14 сентября 2011

Вы вызываете метод Update() на TableAdapter?Следующий код взят из обсуждения MSDN о TableAdapter:

try 
{
    this.Validate();
    this.customersBindingSource.EndEdit();

    this.customersTableAdapter.Update(this.northwindDataSet.Customers);
    MessageBox.Show("Update successful"); 
} 
catch (System.Exception ex) 
{
    MessageBox.Show("Update failed"); 
}

Существуют различные места, где вы можете использовать такую ​​логику - как Дэвид Пирас предлагает вам сохранитьЕсли вы хотите сохранить данные при вводе каждой строки, вы можете использовать логику сохранения с обработчиком событий RowValidated.

...