2011-04-03 133 views
0
 String myquery="INSERT INTO likestatus values(?,?)"; 


     PreparedStatement st1=con.prepareStatement(myquery); 
     st1.setString(1,Integer.toString(rid)); 
     st1.setString(2, id); 
     st1.executeUpdate(myquery); 

我得到的错误是INSERT语句

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 您的SQL语法错误; 检查对应 你的MySQL服务器版本使用附近的 正确的语法手册“?,?)”在 线1

回答

0

在您的最后一行中,您再次绕过了SQL语句字符串,绕过了准备好的语句功能。就在最后一行改成这样:

st1.executeUpdate(); 

的PreparedStatement扩展语句,这样的executeUpdate(串)仍然是可用的,但是你的对象知道有SQL,您使用的executeUpdate(),而不是通常不使用它。

0

看来你需要指定你提供价值的具体列名为:

INSERT INTO likestatus (column1, column2) values (?, ?) 
0

在您的代码:

st1.setString(2, id); 

ID类型为string?你需要确保你正在使用对应的setXXX方法对应datatype