获取一个说明参数已定义的异常

时间:2015-03-17 10:55:02

标签: mysql vb.net

我正在建立一个程序,用于插入或删除数据库中的人员。当我单击按钮两次以删除用户时,我得到一个例外:参数已定义。这是一些代码。 enter image description here

        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()

2 个答案:

答案 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

第二次点击,您尝试再次执行此操作。因此错误