从数据库获取信息以显示在项目上

时间:2018-10-11 07:38:15

标签: java database netbeans project

我正在尝试从数据库中获取sql中的信息,每列中都有两个条目,但是使用以下代码,如果我想获取第二个条目的记录并显示它,则能够获得第一个条目的信息在项目中我将如何获得它?

    String username1= rs.getString ("USERNAME");
    String password1= rs.getString ("PASSWORD");
    String aname1= rs.getString ("a_name");
    String aname2= rs.getString ("a_name");

    System.out.print("Enter Your Username: ");
    String usernamea=(br.readLine());
    System.out.print("Enter Your Password: ");
    String passworda=(br.readLine());
    if ((usernamea.equals(username1) && (passworda.equals(password1))))
    {
        System.out.println("Login Success! Welcome "+aname1+"!");
        System.out.println("You are granted with Admin Acess!");
        rs.close();
    }
    else if ((usernamea.equals(username2) && (passworda.equals(password2))))
    {
        System.out.println("Login Success! Welcome Guest User!");
        rs.close();
    }

3 个答案:

答案 0 :(得分:0)

我不太确定您要问什么,也不确定您发布的代码实际上与您要问的内容有什么联系。

当您说“您想要第二条记录”时,我假设您是指SQL表中的第二条记录。

try(Connection conn = DriverManager.getConnection(url, username, password)){

Statement stat = conn.createStatement();

ResultSet rs = stat.executeQuery("SELECT * FROM [TABLENAME]");

rs.next();

//All data stored in the ResultSet obj, to which you may loop through & select rows of interest. Particularly useful methods are .getMetaData(), .getRow(), etc.

}

希望这就是您要的。

答案 1 :(得分:0)

如果您已经有一个ResultSet rs,则可以调用rs.next()。例如一些代码:

            if (rs.next())
        {
            s.name = rs.getString(1);
            s.creator = rs.getString(2);
            s.dbname = rs.getString(3);
            s.tsname = rs.getString(4);
            s.cardf = rs.getFloat(5);
            s.npages = rs.getInt(6);
            s.statstime = rs.getString(7);
            s.avgrowlen = rs.getInt(8);
        }

答案 2 :(得分:0)

考虑您的代码:

    ResultSet rs = stat.executeQuery("SELECT * FROM [TABLENAME]");
    String username1 = rs.getString ("USERNAME");
    String password1 = rs.getString ("PASSWORD");
    String aname1 = rs.getString ("a_name");

    rs.next();

    String username2 = rs.getString ("USERNAME");
    String password2 = rs.getString ("PASSWORD");
    String aname2 = rs.getString ("a_name");

现在您可以同时检查第一个条目和第二个条目。

尽管如此,更好的做法是创建一个用户对象,并将usernamepasswordaname保存在其中。 然后,使用一些循环,您可以遍历整个结果集并从中获取所有信息。

    ResultSet rs = stat.executeQuery("SELECT * FROM [TABLENAME]");

    List<User> userList = new ArrayList<User>();
    while(rs.next()) {
            User user = new User();
            user.setUsername(rs.getString ("USERNAME"));
            user.setPassword(rs.getString ("PASSWORD"));
            user.setAname(rs.getString ("a_name"));
            userList.add(user);
    }