在VB.Net中的Mysql中插入查询中的语法错误

时间:2015-06-23 15:26:52

标签: mysql vb.net

我在VB.NET中做项目,后端是mysql

你能告诉我发生错误的地方

Public Sub ins()
    con.Open()
    Dim cmd1 As New OdbcCommand("insert into party values('" + pcode_txt.Text + "','" + Trim(UCase(name_txt.Text)) + "','" + Trim(UCase(addr_txt.Text)) + "','" + phone_txt.Text + "','" + combo_route.SelectedItem + "','" + combo_area.SelectedItem + "'", con)
    cmd1.ExecuteNonQuery()
    con.Close()
End Sub

我得到的错误是:

  

错误[42000] [MySQL] [ODBC 3.51驱动程序] [mysqld-5.6.24]你有一个   SQL语法错误;查看与您的手册相对应的手册   MySQL服务器版本,用于在''附近使用正确的语法在第1行

1 个答案:

答案 0 :(得分:1)

您错过了值列表的右括号:

Dim cmd1 As New OdbcCommand("insert into party values('" + pcode_txt.Text + "','" + Trim(UCase(name_txt.Text)) + "','" + Trim(UCase(addr_txt.Text)) + "','" + phone_txt.Text + "','" + combo_route.SelectedItem + "','" + combo_area.SelectedItem + "')", con)

我的回答非常适合您的问题,但正如评论中所建议的那样,字符串连接不是构建查询的可靠方法。

更安全的解决方案基于参数。如果可能,请避免在应用程序中创建sql代码并依赖于服务器语句(存储过程和/或视图)。