为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

偶然的你 2021-11-11 15:48:18
我试图从数据库中获取 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 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

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


当您说“您想要第二个条目”时,我假设您指的是 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.


}

希望这就是你所要求的。


查看完整回答
反对 回复 2021-11-11
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

考虑你的代码:


    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");

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


然而,更好的做法是创建一个用户对象, save username,password并aname在其中。然后,使用一些循环,您可以遍历整个结果集并从中获取所有信息。


    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);

    }


查看完整回答
反对 回复 2021-11-11
?
狐的传说

TA贡献1804条经验 获得超3个赞

如果您已经有一个 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);

        }


查看完整回答
反对 回复 2021-11-11
  • 3 回答
  • 0 关注
  • 141 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信