PreparedStatement有什么问题?

时间:2016-01-11 10:07:21

标签: java mysql jdbc prepared-statement

我有一个数据库,我需要在那里插入一个新记录。我尝试使用PreparedStatement。

//Executing the INSERT query                
String addSql = "INSERT INTO savedforms (Patientfnr, Patientname) VALUES (?, ?)";       

//PreparedStatement for INSERT sql
java.sql.PreparedStatement stmt1 = connection.prepareStatement(addSql);

stmt1.setString(1, patientnumber);
stmt1.setString(2, patientname);


//Execute query 
stmt1.executeUpdate(addSql);    

并收到以下错误:

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?, ?)' at line 1

如何解决?

2 个答案:

答案 0 :(得分:2)

更改

stmt1.executeUpdate(addSql); 

stmt1.executeUpdate(); 

您已经设置了准备好的声明,只需在其上调用executeUpdate()即可。

答案 1 :(得分:0)

请注意,因为该方法声明不应在PreparedStatement或CallableStatement上调用它。

检查javadoc是否有这种方法