Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.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
C# 如果没有按钮,如何从datagridview更新数据库_C#_Ado.net - Fatal编程技术网

C# 如果没有按钮,如何从datagridview更新数据库

C# 如果没有按钮,如何从datagridview更新数据库,c#,ado.net,C#,Ado.net,如何在没有按钮的情况下从datagridview更新数据库?我想在单元格中写,离开后行应该自动更新吗?有什么想法吗?谢谢 我试过这个。我不知道是什么事件 personneservice ps = new personneservice(); private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) { personne p = new personne(id, nom, pren

如何在没有按钮的情况下从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);
    }
}

这不是我自己的作品,我在网上找到的

在这里:

  • 在表单中添加DataGridView控件
  • 选择该控件并单击“>”simbol打开DataGridView任务
  • 打开“选择数据源”组合并单击“添加项目数据源…”
  • 选择数据库>下一步>选择/创建连接>下一步>选择要在控件中填充的表>完成
  • 这将创建一个数据集对象,该对象将与自动生成的适配器对象一起显示在表单中
  • 在设计器中选择并右键单击数据集对象控件,然后在数据集设计器中选择编辑…>这将打开相关的XSD文件
  • 右键单击打开的数据集UI并选择配置
  • 选择高级选项按钮。。。此窗口将选中所有插入、更新、删除和其他查询的复选框,保持原样,然后按“确定”
  • 然后按Next并选择“创建方法以将更新直接发送到数据库选项”[默认设置,已选中]>Next并完成。这将生成自动执行操作所需的代码
  • 在表单类中添加以下代码
  • 这将填充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);
        }
    

    代码末尾的“priv”是什么?你遗漏了什么吗?下面这个应该只是一个错误!我想我的问题不清楚。。我想从这个datagrid更新数据库,无需单击按钮。。