我是第一次使用JDBC,但经历了一段艰难的时期。这是给我错误的代码片段:

//STEP 4: Execute a query
System.out.println("Creating statement...");
String sql;
sql = "SELECT * FROM user where username=? and password=?";
stmt = conn.prepareStatement(sql);
//Bind values into the parameters.
stmt.setString(1, value1);  // This would set username
stmt.setString(2, value2); // This would set password
ResultSet rs = stmt.executeQuery(sql);


我在NetBeans中遇到以下错误:


  “ jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有误;请查看与您的MySQL服务器版本相对应的手册,以获取在第1行的'? and password=?'附近使用正确的语法”


此后有一长串,但我认为这是导致我出现问题的原因。我究竟做错了什么?

最佳答案

您已经为语句设置了SQL,并且参数已绑定。

因此,您无需为同一语句再次设置SQL。否则,它是无效的语句,并引发异常。

更改:

ResultSet rs = stmt.executeQuery(sql);


至:

ResultSet rs = stmt.executeQuery();

09-11 19:13
查看更多