Я пытаюсь получить данные из таблицы mysql. Мой запрос возвращает одно значение, когда я запускаю его вручную на phpmyadmin, но когда я запускаю код Java, он дает пустой набор. Это запрос:Ошибка при извлечении из набора результатов
SELECT real_name
from doctorlogin
where password='1234' and id='X11111X';
Код:
public ArrayList<ArrayList<String>> query(String statement) throws SQLException {
ResultSet rs = stmt.executeQuery(statement);
int numcols = rs.getMetaData().getColumnCount();
ArrayList<ArrayList<String>> result = new ArrayList<ArrayList<String>>();
if (rs.isBeforeFirst()) {
do {
ArrayList<String> row = new ArrayList<String>(); // new list per row
int i = 0;
while (i <= numcols) { // don't skip the last column, use <=
row.add(rs.getString(i++));
}
result.add(row); // add it to the result
} while (rs.next());
}
return result;
}
public String login(String username, String password, String domain) throws SQLException {
String query = "SELECT real_name from " + domain + "login where password='" + password + "' and id='" + username + "';";
System.out.println(query);
ArrayList<ArrayList<String>> r = query(query);
if (r.size() > 1 || r.size() == 0)
return "Login Failed";
else
return r.get(0).get(0);
}
После внесения редактировать код еще не принести никакого результата, даже если я получаю одну строку в PHPMyAdmin.
public ArrayList<ArrayList<String>> query(String statement) throws SQLException {
ResultSet rs = stmt.executeQuery(statement);
int numcols = rs.getMetaData().getColumnCount();
ArrayList<ArrayList<String>> result = new ArrayList<ArrayList<String>>();
while (rs.next()) {
ArrayList<String> row = new ArrayList<String>(); // new list per row
for (int i = 1; i <= numcols; i++) {
row.add(rs.getString(i));
}
result.add(row); // add it to the result
}
return result;
}
Скриншоты запроса на PHPMyAdmin ->https://drive.google.com/drive/folders/0B_yqoCAAV2rFdDZqUzlmeXljNWs
Что такое stracktrace? Вы пытались использовать rs.next() вместо if (rs.isBeforeFirst())? –
Код не входит в цикл while. –
Вы уверены, что не получаете SQLException? – RealSkeptic