Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms 将从Datagridview输入的新记录保存到数据库中_Winforms_C# 4.0_Datagridview_Dataset_Datatableadapters - Fatal编程技术网

Winforms 将从Datagridview输入的新记录保存到数据库中

Winforms 将从Datagridview输入的新记录保存到数据库中,winforms,c#-4.0,datagridview,dataset,datatableadapters,Winforms,C# 4.0,Datagridview,Dataset,Datatableadapters,我使用DataSet和TableAdapter来填充Datagridview。Datagridview允许在底部插入新记录。现在,当我在Datagridview中输入新记录的值时,该记录不会自动保存回数据库。要将新记录保存回数据库,您需要处理哪个事件,或者需要编写什么代码 我使用的是C#。您可以在某处放置一个保存按钮,当用户单击该按钮时,您可以调用如下方法: private void UpdateDataSet(DataSet dataSet) { // Check for change

我使用DataSet和TableAdapter来填充Datagridview。Datagridview允许在底部插入新记录。现在,当我在Datagridview中输入新记录的值时,该记录不会自动保存回数据库。要将新记录保存回数据库,您需要处理哪个事件,或者需要编写什么代码


我使用的是C#。

您可以在某处放置一个保存按钮,当用户单击该按钮时,您可以调用如下方法:

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);
}

您正在调用
TableAdapter
上的
Update()
方法吗?以下代码来自


有很多地方可以放置这种逻辑——正如Davide Piras建议的那样,表单上可以有一个保存按钮,或者如果希望在输入每一行时保存数据,则可以使用RowValidated事件处理程序保存逻辑。

是否用代码填充gridview(如果是,请发布它)还是使用数据源?Windows窗体还是Web窗体?能否显示用于将数据绑定到网格的代码?我使用TableAdapter及其windows窗体应用程序填充DataGridView。
try 
{
    this.Validate();
    this.customersBindingSource.EndEdit();

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