获取“java.sql.SQLException:未绑定到语句的值”异常

时间:2016-05-05 18:43:52

标签: java sql sql-server eclipse

我正在尝试对我的程序进行编程,该程序包括通过登录系统将用户与SQL连接,然后如果识别符很好,则用户被重定向到另一帧。

但我有一个问题,我想在SQL库中有一些信息,所以我尝试使用while循环和语句很好,但我想要更多,所以我添加了更多代码,以获得更多信息,但我收到了一个错误:

  

java.sql.SQLException:未绑定到语句

的值

请参阅以下代码:

    String pseudo2 = null;
    String rank2 = null;

    try {

        String searchname2 = "select * from AdminsInfos where pseudo=?";
        PreparedStatement name2 = connection.prepareStatement(searchname2);



        ResultSet rspseudo2 = name2.executeQuery();;

        while (rspseudo2.next())
        {

            pseudo2 = rspseudo2.getString("Pseudo");
            rank2 = rspseudo2.getString("Rank");

        }

    } catch (Exception e2) {

        e2.printStackTrace();

    }

    JOptionPane.showMessageDialog(null, "Username and password are correct, connection Admin !");

    frame.setVisible(false);
    new LoginMain().setVisible(true);

    LoginMain.usernameField.setText(pseudo2);
    LoginMain.ranklabel.setText("Rank : " + rank2);

您也可以通过以下图片检查SQL基础:

sql base

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

由于您有绑定变量,因此需要在执行语句之前设置该值。

例如,如果psuedo的类型为String,那么您将执行以下操作。

    String searchname2 = "select * from AdminsInfos where pseudo=?";
    PreparedStatement name2 = connection.prepareStatement(searchname2);
    name2.setString(1,"value");

    ResultSet rspseudo2 = name2.executeQuery();

其中setString中的第一个参数表示您要为绑定变量设置第一个值。