Как добавить результат в набор результатов хранимой процедуры MySQL в Java
Я хочу добавить результаты в набор результатов и использовать таблицу для отображения результатов, это мой код Java
while (resultSet.next()) {
Object[] objects = {
resultSet.getDouble("January"),
resultSet.getDouble("February"),
resultSet.getDouble("March"),
resultSet.getDouble("April"),
resultSet.getDouble("May"),
resultSet.getDouble("June"),
resultSet.getDouble("July"),
resultSet.getDouble("August"),
resultSet.getDouble("September"),
resultSet.getDouble("October"),
resultSet.getDouble("November"),
resultSet.getDouble("December"),
};
model.addRow(objects);
}
Ошибка показывает "Столбец" Январь "не найден".
Мне жаль, что я не заработал достаточную репутацию, поэтому пишу результат хранимой процедуры следующим образом.
categoryid January February....
1 3000 5000 (double)....
Код запроса:
CallableStatement callableStatement = connection.prepareCall(sql);
if (cobAccount.getSelectedIndex() != 0) {
String accountid = cobAccount.getSelectedItem().toString()
.substring(0, 1);
callableStatement.setString(1, accountid);
} else {
callableStatement.setString(1, "0");
}
if (cobYear.getSelectedIndex() != 0) {
String year = cobYear.getSelectedItem().toString();
callableStatement.setString(2, year);
} else {
callableStatement.setString(2, "0");
}
if (cobMember.getSelectedIndex() != 0) {
String memberid = cobMember.getSelectedItem().toString()
.substring(0, 1);
callableStatement.setString(3, memberid);
} else {
callableStatement.setString(3, "0");
}
if (!"".equals(txtMinmoney.getText())) {
double minMoney = Double.valueOf(txtMaxmoney.getText());
callableStatement.setDouble(4, minMoney);
} else {
callableStatement.setDouble(4, '0');
}
if (!"".equals(txtMaxmoney.getText())) {
double maxMoney = Double.valueOf(txtMaxmoney.getText());
callableStatement.setDouble(5, maxMoney);
} else {
callableStatement.setDouble(5, '0');
}
3 ответа
Похоже, что нет колонки с именем января. Есть ли столбец с именем "Месяц" со значением январь / февраль / и т. Д.? Если бы вы могли опубликовать определение таблицы и запрос, устранение неполадок было бы проще.
Убедитесь, что строка, которую вы передаете для getDouble
Функция - это фактические имена ваших столбцов SQL. Например, Janunary, кажется, пишется неправильно.
Ты пропустил январь со своим resultSet.next()
нет?
возможно сделать resultSet.hasNext()
или Equivelant и resultSet.next()
в конце вашего цикла?