我在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行
答案 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代码并依赖于服务器语句(存储过程和/或视图)。