有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

jdbc不能转换为java。sql。结果集

下面显示了我在尝试运行代码时收到的错误消息:

 sun.jdbc.odbc.JdbcOdbcStatement cannot be cast to java.sql.ResultSet

我不明白为什么会发生这个错误,所以有人能告诉我为什么会发生这个错误,或者更好地给我解决这个问题的方法。下面是完整的代码

public void actionlogin()
{
   btnLogin.addActionListener(new ActionListener() 
{
    public void actionPerformed(ActionEvent ae) 
    {

        String username = txtUserName.getText();
        String password = txtPassword.getText();

        String databaseUsername = "";
        String databasePassword = "";

        String dataSourceName = "securitySystem";
        String dbUrl = "jdbc:odbc:" + dataSourceName;

        try{
            //Type of connection driver used    
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

            //Connection variable or object param: dbPath, userName, password
            Connection con = DriverManager.getConnection(dbUrl, "", "");

            Statement statement = con.createStatement();

            statement.execute("select username, password  from securitySystem.employees");

            while (((ResultSet) statement).next()) {
                databaseUsername = ((ResultSet) statement).getString("username");   //resultSet.getString("username");
                databasePassword = ((ResultSet) statement).getString("password");
            }  

            statement.close();
            con.close();
        }catch (Exception e){
            System.out.print("Out!" +e);
        }

共 (1) 个答案

  1. # 1 楼答案

    你需要使用语句。executeQuery,这将返回结果集

    所以你需要这样写:

    ResultSet rs = statement.executeQuery("select....");
    while (rs.next()) {
       databaseUsername = rs.getString("username");
       databasePassword = rs.getString("password";
    }