i have this piece of code
Dim query As String = "INSERT INTO person(name) VALUES (@name);"
Try
conn.Open()
Dim cmd As MySqlCommand = New MySqlCommand(query, conn)
If String.IsNullOrEmpty(name.Text) Or String.IsNullOrWhiteSpace(name.Text) Then
cmd.Parameters.AddWithValue("@name", " ")
Else
cmd.Parameters.AddWithValue("@name", name.Text)
End If
cmd.ExecuteNonQuery()
Catch ex As MySqlException
MsgBox(ex.ToString)
End Try
when i run the code i get this exception:
MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered during command execution. ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Parameter '@name' must be defined.
how to solve?
Do it this way:
Dim query As String = "INSERT INTO person(name) VALUES (@name);"
Try
conn.Open()
Dim cmd As MySqlCommand = New MySqlCommand()
cmd.CommandText = query;
If String.IsNullOrEmpty(name.Text) Or String.IsNullOrWhiteSpace(name.Text) Then
cmd.Parameters.AddWithValue("@name", " ")
Else
cmd.Parameters.AddWithValue("@name", name.Text)
End If
cmd.Connection = conn;
cmd.ExecuteNonQuery()
Catch ex As MySqlException
MsgBox(ex.ToString)
End Try
Solved just adding this to connection string:
Allow User Variables=True
User contributions licensed under CC BY-SA 3.0