Я пытаюсь написать метод, используя CachedRowSet для выполнения запросов SQl. Пример кода выглядит следующим образом (имя пользователя и пароль определен ранее),Как выполнять SQL-запросы с помощью CachedRowSet?
public CachedRowSet getContentsOfCoffeesTable(Connection connection) throws SQLException {
CachedRowSet crs = null;
try {
crs = new CachedRowSetImpl();
crs.setType(ResultSet.TYPE_SCROLL_INSENSITIVE);
crs.setConcurrency(ResultSet.CONCUR_UPDATABLE);
crs.setUsername(user);
crs.setPassword(password);
crs.setCommand("select COF_NAME, SUP_ID, PRICE, SALES, TOTAL from COFFEES");
crs.execute();
} catch (SQLException e) {
e.printStackTrace();
}
return crs;
}
Когда я пытаюсь прочитать данные, используя образец кода, я ничего не получаю.
CachedRowSet myValues = getContentsOfCoffeesTable(myConn);
while(myValues != null && myValues.next()){
// get the values of 2nd column of the table
System.out.println(myValues.getString(2));
}
КОФЕ-таблица уже заселена. Как я могу улучшить код? Благодарю.
Если вам удалось решить вашу проблему, тогда вы не должны редактировать свой вопрос, чтобы добавить решение, но вместо этого вы должны отправить ответ с помощью s olution. Это намного более ясно для других людей, а также позволит вам принять ваш собственный ответ. –
Обратите внимание, что исходной причиной вашей проблемы является то, что вы не предоставили соединение с набором кешированных строк (либо с самим набором строк, либо с помощью метода execute), поэтому он просто не может запрашивать информацию, t есть соединение. –
Спасибо большое, я буду заботиться об этом в будущем. –