繁体   English   中英

Java中的Select语句以错误终止

[英]Select statement in Java terminates with an error

当我在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()){
  // ...
where Username where Username = ?

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

您的代码有两个问题,我可以看到。 首先,正如@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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM