C#编辑datagrid时更新MySQL表不会';行不通
我正在制作一个简单的小程序,在datagridview中显示一个mysql表,并在按下按钮时在datagridview中编辑数据后将其保存回表中 用mysql表“填充”datagrid视图非常有效。 但是当按下保存按钮时,我在“更新行”上遇到了一个错误。 错误:System.Data.dll中发生“System.InvalidOperationException”类型的未处理异常 用于填充datagridview的代码:C#编辑datagrid时更新MySQL表不会';行不通,c#,mysql,datagridview,datagrid,C#,Mysql,Datagridview,Datagrid,我正在制作一个简单的小程序,在datagridview中显示一个mysql表,并在按下按钮时在datagridview中编辑数据后将其保存回表中 用mysql表“填充”datagrid视图非常有效。 但是当按下保存按钮时,我在“更新行”上遇到了一个错误。 错误:System.Data.dll中发生“System.InvalidOperationException”类型的未处理异常 用于填充datagridview的代码: private void roster_Load(object send
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]);
}
有人能帮我弄清楚为什么失败了吗
提前感谢。当您遇到异常过于普遍时,您可以使用
Try/Catch
块并分析异常的内部异常。例如(VB.NET):
在这种情况下,您可能只需要设置MySqlDataAdapter的.InsertCommand
、.DeleteCommand
和.UpdateCommand
请注意,您并不总是需要设置这3个命令;i、 e.如果用户无法删除表中的行,则无需设置.delete命令
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