Android: документация для контента: // смс / «тип» значения?

Сначала вы должны использовать инструкцию next.

ResultSet set = statement.executeQuery();
if (set.next()) {
    userName = set.getString(1);
    //your logic...
}

UPDATE

Как говорится в документации по Java 6

Курсор ResultSet первоначально располагается перед первой строкой; первый вызов метода next делает первую строку текущей строкой; второй вызов делает вторую строку текущей строкой и так далее.

blockquote>

Это означает, что при выполнении предложения

ResultSet set = statement.executeQuery();

ResultSet set будет создан и указывается на строку перед первым результатом данных. Вы можете посмотреть его следующим образом:

SELECT email, firstname FROM registrationinformation

    email              | firstname
    ____________________________________
0                                        <= set points to here
1   email1@gmail.com   | Email1 Person
2   foo@bar.com        | Foo Bar

Итак, после открытия ResulSet вы выполняете метод next, чтобы перенести его на первый row.

if(set.next()) 

Теперь set выглядит следующим образом.

    email              | firstname
    ____________________________________
0
1   email1@gmail.com   | Email1 Person   <= set points to here
2   foo@bar.com        | Foo Bar

Если вам нужно прочитать все данные в ResultSet, вы должны использовать while вместо if :

while(set.next()) {
    //read data from the actual row
    //automatically will try to forward 1 row
}

Если set.next() возвращает false, это означает, что не было строки для чтения, поэтому ваш цикл while будет завершен.

Дополнительная информация здесь .

13
задан RandomMooCow 17 September 2014 в 05:17
поделиться