大家好,
我正在尝试构建将与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;
}
}