通过DataGridView将更改保存到数据库

时间:2019-01-18 10:27:59

标签: c# database

编辑: 我尝试了这些新行。似乎它没有更新。适配器已启用更新。

DialogResult dr = MessageBox.Show("Voulez-vous enregistrer ?", "Message", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);

            if (dr == DialogResult.Yes)
            {
                ClosureDataDataSet dataSetChanged = (ClosureDataDataSet)closureDataDataSet.GetChanges();
                this.tableTableAdapter.Update(dataSetChanged);
                this.closureDataDataSet.AcceptChanges();
                dgvClosures.Refresh();

当我停止运行程序时,我无法缝隙保留对数据库的更改

我在Visual Studio C#中本地创建了一个SQL数据库,该数据库通过DataGridView显示和更新。只要我不停止运行程序,所做的更改就可以保存起来。我希望它能一次又一次地保持这些更改。

这是我尝试过的。 DataGridView和数据集已经链接。

DialogResult dr = MessageBox.Show("Do you want to save ?", "Message", 
MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);

        if (dr == DialogResult.Yes)
        {
            this.tableTableAdapter.Update(closureDataDataSet.Table);
            dgvClosures.Refresh();
        }

我想要的是保存要使用的数据。非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以处理表单的OnFormClosing事件,并要求用户在关闭表单或应用程序之前保存更改。

protected override void OnFormClosing(FormClosingEventArgs e)
{
    base.OnFormClosing(e);
    DialogResult dr = MessageBox.Show("Do you want to save ?", "Message", 
        MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);

    if (dr == DialogResult.Yes)
    {
        this.tableTableAdapter.Update(closureDataDataSet.Table);
        // dgvClosures.Refresh();
    }
}