我正在建立一个程序,用于插入或删除数据库中的人员。当我单击按钮两次以删除用户时,我得到一个例外:参数已定义。这是一些代码。
con.ConnectionString = ("server=localhost;userid=root;password= '';database= inventory_control")
cmd.Connection = con
con.Open()
cmd.CommandText = "delete from employee where first_name = @fnametodelete "
cmd.Parameters.Add("@fnametodelete", MySqlDbType.String).Value = stremployeeTodeleteName
inttodelete = cmd.ExecuteNonQuery()
con.Close()
DataGridView2.Refresh()
clearEmployee()
答案 0 :(得分:3)
屏幕截图显示您正在重复使用MySqlCommand
。所以你要在每次点击按钮时添加参数。而是每次都创建一个新命令。
Using con As New MySqlConnection("server=localhost;userid=root;password= '';database= inventory_control")
Using cmd As New MySqlCommand("delete from employee where first_name = @fnametodelete", con)
con.Open()
cmd.Parameters.Add("@fnametodelete", MySqlDbType.String).Value = stremployeeTodeleteName
inttodelete = cmd.ExecuteNonQuery()
End Using
End Using
答案 1 :(得分:0)
你的cmd var是全局的。首次点击即可添加
cmd.Parameters.Add("@fnametodelete", MySqlDbType.String).Value = stremployeeTodeleteName
第二次点击,您尝试再次执行此操作。因此错误