mysql preparedStatement:sql查询

时间:2014-08-19 19:23:15

标签: java mysql sql glassfish prepared-statement

我在mySQL中有一个selectState查询的prepareStatement。

这就是我写的:

 String sQuery = "SELECT Password FROM test WHERE Email = ?";
 st = DB.prepareStatement(sQuery);
 st.setString(1, email);
 ResultSet rs =  st.executeQuery(sQuery);

但我从glassfish服务器获得一个例外说明:

Severe:   com.mysql.jdbc.exceptions.jdbc4.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 :(得分:4)

您必须在不将查询作为参数的情况下调用st.executeQuery()。该查询在准备好时已经传递给该语句。

请参阅http://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html#executeQuery%28%29

答案 1 :(得分:1)

st.executeQuery()没有执行查询的参数