Получение информации из базы данных для отображения на проектах - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь получить информацию в 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 голосов
/ 11 октября 2018

Если у вас уже есть 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);
        }
0 голосов
/ 11 октября 2018

Учитывая ваш код:

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

Теперь вы можете проверить как первую запись, так и вторую.

Тем не менее, лучше всего создать пользовательский объект, сохранить 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);
    }
0 голосов
/ 11 октября 2018

Я не совсем уверен, что вы спрашиваете, и я не уверен, что код, который вы опубликовали, на самом деле относится к тому, что вы спрашиваете.

Когда вы говорите: «Вы хотите 2-ю запись», япри условии, что вы имеете в виду вторую запись в таблице 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.

}

Надеюсь, это то, что вы просите.

...