C#使用MySqlDataAdapter.Update(dataTable)

时间:2018-11-13 15:10:19

标签: c# mysql

大家好,

我正在尝试构建将与MySQL数据库交互的c#GUI。我希望能够通过数据网格视图组件插入,更新和删除记录。同样,您将如何双击以在MySQL Workbench网格的新行中输入值,然后单击“应用”按钮以执行SQL语句。

现在,我编写了一些代码,这些代码在执行GUI时会拉起数据网格视图,但是我编写的用于更新和删除记录的代码不起作用,特别是以下行。 delete方法通过删除突出显示的行来完成它的工作,但是当到达以下行时,将发生对象引用错误。我想我已经正确地引用了所有内容,但似乎没有。任何建议将不胜感激!谢谢您的时间:

sqlData.Update(dataTable);

我得到的错误是:对象引用未设置为对象的实例

下面有问题的方法

private void bttnSave_Click(object sender, EventArgs e)
    {
        try
        {
            sqlData.Update(dataTable);
        }
        catch (Exception eobj)
        {
            MessageBox.Show(eobj.Message.ToString());
        }
    }

    private void bttnDelete_Click(object sender, EventArgs e)
    {
        try
        {
            dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index); // remove highlighted row on data grid view
            sqlData.Update(dataTable);
        }
        catch (Exception eobj)
        {
            MessageBox.Show(eobj.Message.ToString());
        }
    }

GUI加载方法:

private void MySQLGUI_Load(object sender, EventArgs e)
    {
        using (MySqlConnection mysqlConn = new MySqlConnection(connection))
        {
            mysqlConn.Open();
            MySqlDataAdapter sqlData = new MySqlDataAdapter("View_Users", mysqlConn); // execute store procedure
            sqlData.SelectCommand.CommandType = CommandType.StoredProcedure;

            dataTable = new DataTable();
            sqlData.Fill(dataTable);
            bindingSource = new BindingSource();
            bindingSource.DataSource = dataTable;

            dataGridView1.DataSource = bindingSource;
        }
    }

0 个答案:

没有答案