how to solve mysql define error in vb.net app?

0

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?

mysql
sql
vb.net
asked on Stack Overflow Mar 2, 2020 by erosfabbri

2 Answers

0

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
answered on Stack Overflow Mar 2, 2020 by zip
0

Solved just adding this to connection string:

Allow User Variables=True
answered on Stack Overflow Mar 2, 2020 by erosfabbri

User contributions licensed under CC BY-SA 3.0