当我在 Java 中慢慢找到自己的方式时,我在执行程序时遇到了运行时错误。这种方式在 MariaDB 语法中是不接受的!!这个问题怎么解决.... 请注意,用户名在程序中被定义为变量。谢谢这是我的代码: String sql = "select Username , Userpassword from Users where Username where Username = ?"; statement = con.prepareStatement(sql); statement.setString(1, UserName); statement.executeQuery(sql); while (statement.getResultSet().next()){ // ...
2 回答
慕标5832272
TA贡献1966条经验 获得超4个赞
我可以看到您的代码有两个问题。首先,正如@Michael 指出的那样,您有两个WHERE子句。也许这只是一个复制错误,或者这可能是您的代码的逐字逐句。无论哪种情况,都是错误的,您的查询应该只有一个WHERE子句。另一个问题是您正在执行以下调用来执行查询:
statement.executeQuery(sql);
PreparedStatement#executeQuery没有不带任何参数; 只需不带参数调用它。所以这里是我给你的建议:
String sql = "SELECT Username, Userpassword FROM Users WHERE Username = ?";
statement = con.prepareStatement(sql);
statement.setString(1, UserName);
ResultSet rs = statement.executeQuery();
while (rs.next()) {
// process a row
}
添加回答
举报
0/150
提交
取消