C#编辑数据网格时更新MySQL表不起作用

时间:2014-11-26 19:06:06

标签: c# mysql datagridview datagrid

我正在创建一个简单的小程序,在datagridview中显示一个mysql表,并在按下按钮后在datagridview中编辑数据后将数据保存回表中。

使用mysql表“填充”数据网格视图非常有效。 但按下保存按钮时,我在“更新行”处收到错误。 错误:System.Data.dll中出现未处理的“System.InvalidOperationException”类型异常

用于填写datagridview的代码:

 private void roster_Load(object sender, EventArgs e)
    {
        db_connection();
        mySqlDataAdapter = new MySqlDataAdapter("select * from members", connect);
        DS = new DataSet();
        mySqlDataAdapter.Fill(DS);
        dataGridView1.DataSource = DS.Tables[0];

    }

和按下保存按钮时的代码:0

private void button1_Click(object sender, EventArgs e)
        {
            db_connection();
            mySqlDataAdapter.Update(DS.Tables[0]);
        }

任何人都可以帮我弄清楚它失败的原因吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

当您遇到过于通用的异常时,您可以使用Try/Catch块并分析InnerException的{​​{1}}。例如(VB.NET):

Exception

在这种情况下,您可能只需设置Try db_connection() mySqlDataAdapter.Update(DS.Tables(0)) Catch ex As Exception MsgBox(ex.Message(), MsgBoxStyle.Critical) If Not IsNothing(ex.InnerException) Then MsgBox(ex.InnerException.Message, MsgBoxStyle.Critical) End Try 的{​​{1}},.InsertCommand.DeleteCommand

请注意,您并不总是需要设置这3个命令;即如果用户无法删除表格中的行,则您不需要设置.UpdateCommand