c# - 如何从 Datagridview C# 更新数据库

标签 c# mysql winforms datagridview

如何从 Datagridview C# 更新数据库?我的项目用于在数据库中加载数据表,但无法更新到数据库 这是加载数据按钮

private void button2_Click(object sender, EventArgs e)
{
        string connectionString;

        connectionString = "Server=localhost;User Id=root; Password=1234; Database=db2; Pooling=false;CharSet=tis620;";
        connection = new MySqlConnection(connectionString);
        sda = new MySqlDataAdapter("Select * from data Where Id = '" + comp.Text.Trim() + "'", connection);

        dt = new DataTable();
        sda.Fill(dt);
        Table1.DataSource = dt;

}

和更新按钮

private void button3_Click(object sender, EventArgs e)
{

        cmdbl = new MySqlCommandBuilder(sda);

        sda.Update(dt);
        MessageBox.Show("Save data complete");

}

我关注这个剪辑Insert,Delete and Update data in database from datagridview 我做不到 抱歉我的英语不够好,谢谢您的回答。

最佳答案

假设您已配置 UpdateCommand。 更新后尝试 dt.AcceptChanges()

private void button3_Click(object sender, EventArgs e)
{

    cmdbl = new MySqlCommandBuilder(sda);

    sda.Update(dt);
    dt.AcceptChanges()
    MessageBox.Show("Save data complete");

  }

否则请遵循MSDN

作为最低要求,您必须设置 SelectCommand 属性才能自动生成命令。 SelectCommand 属性检索的表架构决定了自动生成的 INSERT、UPDATE 和 DELETE 语句的语法。 DbCommandBuilder 必须执行 SelectCommand 才能返回构造 INSERT、UPDATE 和 DELETE SQL 命令所需的元数据。因此,需要额外访问数据源,这可能会影响性能。为了实现最佳性能,请显式指定命令,而不是使用 DbCommandBuilder。 SelectCommand 还必须至少返回一个主键或唯一列。如果不存在,则会生成 InvalidOperation 异常,并且不会生成命令。

关于c# - 如何从 Datagridview C# 更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24803685/

相关文章:

c# - ImageMagick.NET - 更快的性能

C# - 何时调用 base.On Something?

c# - 基于比较 c# 将元素添加到列表时使用的最佳数据结构是什么

php - 来自 Programming Collective Intelligence 一书第 4 章,此查询的 MySQL 等价物是什么?

mysql - 搜索某个日期是否在事件中

c# - 所有者绘制的列表框未绘制先前选择的项目

c# - 将多个面板添加到表单中

c# - DataGridView ScrollBars 在 Thread 之后不工作

c# - ASP.NET MVC 中身份验证的 OutputCache 困境

php - 为什么我的 MySQL 查询失败