Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的Select语句以错误终止_Java - Fatal编程技术网

Java中的Select语句以错误终止

Java中的Select语句以错误终止,java,Java,当我在Java中慢慢摸索时,当我的程序被执行时,我面临着一个运行时错误。。 我正在用select语句进行编码… 我得到一个错误代码,使用?这种方式在MariaDB语法中是不可接受的!! 如何解决这个问题…。 注意,UserName在prog中定义为avariable 谢谢 这是我的密码: String sql = "select Username , Userpassword from Users where Username where Username = ?"; st

当我在Java中慢慢摸索时,当我的程序被执行时,我面临着一个运行时错误。。 我正在用select语句进行编码… 我得到一个错误代码,使用?这种方式在MariaDB语法中是不可接受的!! 如何解决这个问题…。 注意,UserName在prog中定义为avariable

谢谢

这是我的密码:

  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()){
  // ...
您的SQL查询无效。你有两次where子句


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

您的代码有两个问题,我可以看到。首先,正如@Michael指出的,您有两个WHERE子句。可能这只是一个复制错误,也可能这是您的代码的原汁原味。无论哪种情况,它都是错误的,您的查询应该只有一个WHERE子句。另一个问题是您正在进行以下调用以执行查询:

statement.executeQuery(sql);
不接受任何参数;只需不带参数地调用它。下面是我给你的建议:

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
}

您的代码有两个问题,我可以看到。首先,正如@Michael指出的,您有两个WHERE子句。可能这只是一个复制错误,也可能这是您的代码的原汁原味。无论哪种情况,它都是错误的,您的查询应该只有一个WHERE子句。另一个问题是您正在进行以下调用以执行查询:

statement.executeQuery(sql);
不接受任何参数;只需不带参数地调用它。下面是我给你的建议:

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
}

检查您的SQL查询是否错误检查您的SQL查询是否正确wrong@TimBiegeleisen另一种选择是在评论中回答,这也是不赞成的。我之所以将其设置为社区wiki,是因为我不需要代表。PreparedStatementexecuteQuery不接受任何参数。@TimBiegeleisen另一种选择是在评论中回答,这也是不赞成的。我之所以将此设置为社区wiki,是因为我不需要代表。PreparedStatementexecuteQuery不接受任何参数。感谢在此处共享代码,问题解决了,正如您所说,这是我键入语句时出现的语法错误,我从您那里学到了一些新东西,再次感谢…感谢在此处共享代码,问题解决了,正如你所说,我输入语句时出现语法错误,我从你那里学到了一些新的东西,再次感谢。。。