如何在没有按钮的情况下从datagridview更新数据库

时间:2017-11-10 18:12:51

标签: c# ado.net

如何在没有按钮的情况下从datagridview更新数据库?我想在单元格中写入并在离开行后应该自动更新?任何的想法?感谢

我试过这个。我不知道是什么事件

personneservice ps = new personneservice();

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
    personne p = new personne(id, nom, prenom, sexe, profession, salaire);
    ps.update(p);
    MessageBox.Show("Bien modifié ");
    actualiser();
}



void actualiser ()
{
    dataGridView1.Rows.Clear();
    foreach (personne p in ps.findAll())
    {
        String[] row = new String[] { p.Id + "", p.Nom, p.Prenom, p.Sexe, p.Profession, p.Salaire + "" };
        dataGridView1.Rows.Add(row);
    }
}

1 个答案:

答案 0 :(得分:0)

这不是我自己的工作,我在网上找到了这个。

此处:https://social.msdn.microsoft.com/Forums/en-US/231be175-12d3-44ef-9222-875643a9e7fb/saving-the-data-entered-in-the-datagridview-to-database-table?forum=winformsdatacontrols

  1. 格式添加DataGridView控件
  2. 选择该控件,然后单击">"打开DataGridView任务。辛博尔
  3. 打开选择DataSource Combo并单击"添加项目数据源..."
  4. 选择数据库>下一个>选择/创建连接>下一个>选择要填写控件的表>完成
  5. 这将创建一个DataSet对象,它将与您自动生成的Adapter对象一起显示在您的表单中。
  6. 选择并右键单击设计器中的DataSet对象控件,然后选择DataSet Designer中的Edit ...>这将打开相关的XSD文件
  7. 右键单击已打开的数据集UI,然后选择配置...
  8. 选择高级选项按钮...此窗口将选中所有插入,更新,删除和其他查询复选框,保持原样并按确定
  9. 然后按“下一步”并选择“#34;创建方法以将更新直接发送到数据库选项" [默认,选中]>接下来完成它。这将生成自动执行操作所需的代码
  10. 在Form类中添加以下代码
  11. 这将填满datagridview

        private void DataGridViewDirectDBUpdate_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'northwindDataSet.Users' table. You can move, or remove it, as needed.
            this.yourtableadaptor.Fill(this.yourdataset.yourtable);
    
        }
    

    这会将数据保存回数据库

        private void dataGridView1_CellEndEdit(object sender, EventArgs e)
        {
            this.yourtableadaptor.Update(yourdataset);
        }