为了账号安全,请及时绑定邮箱和手机立即绑定

Java 中的 Select 语句因错误而终止

Java 中的 Select 语句因错误而终止

慕尼黑8549860 2021-09-12 20:26:33
当我在 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 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

where Username where Username = ?

您的 SQL 查询无效。你有一个where子句两次。


查看完整回答
反对 回复 2021-09-12
?
慕标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

}


查看完整回答
反对 回复 2021-09-12
  • 2 回答
  • 0 关注
  • 196 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信