0

我在此代码行末尾的某个地方遇到了一个 sql 语法错误,我已经对其进行了调整并与之混合了一些,但到目前为止我还没有解决它。

 strSQL="INSERT INTO " + tableName + " VALUES " + "(" + id + ",'" + rname + "','" + rfn + "','" + rmn + ")";

任何帮助表示赞赏!

4

3 回答 3

6

你在最后错过了一个报价

+ rmn + " )";
         ^---------here

但实际上你应该使用Prepared Statements

于 2013-11-06T13:28:44.087 回答
1

你错过了几个'迹象。(不仅在最后,而且在之前和之后id

strSQL="INSERT INTO " + tableName + " VALUES " + "('" + id + "','" + rname + "','" + rfn + "','" + rmn + "')";

与问题无关,但与在 Java 中正确创建查询密切相关:

您应该避免使用字符串连接构造查询。而是使用PreparedStatement参数。例如,您的查询将如下所示:

strSQL="INSERT INTO " + tableName + " VALUES (?, ? , ? , ?)";
于 2013-11-06T13:29:00.900 回答
0

没有指定字段名。这样写

INSERT INTO tbl_name (col1,col2) VALUES(val1, vale2);

检查网址:http ://dev.mysql.com/doc/refman/5.6/en/insert.html

于 2013-11-06T13:29:28.760 回答