Получение максимального значения из столбца Integer в таблице доступа

1

У меня есть текстовое поле в форме кадра NetBeans. Я добавил кнопку "Создать", и когда я нажимаю на нее, программа должна найти наибольшее значение из столбца "book_code" в таблице с именем "books" и должна отображать "сгенерированное значение + 1" в текстовом поле.

Я использую метод класса для подключения к моей базе данных, поэтому вы не найдете кода для подключения базы данных.

Я пробовал кодирование, но я не могу генерировать максимальное значение из столбца book_code табличных книг. Вот что я сделал:

String b_code="select max(Book_code) from books";
try
{
    pst = conn.prepareStatement(b_code);
    rs=pst.executeQuery();

    int a=rs.getInt(b_code);
    System.out.println("Book code is "+a);

}
catch(Exception e)
{
   JOptionPane.showMessageDialog(null , e);
}

Максимальное значение в столбце book_code равно 103, и когда я нажимаю кнопку "сгенерировать", я бы хотел увидеть 104 в текстовом поле.

Теги:
netbeans
ms-access
data-retrieval

1 ответ

0

В вашем коде есть как минимум две (2) проблемы:

  1. Вы создаете ResultSet, но вы не вызываете rs.next() прежде чем пытаться получить значение.

  2. Когда вы пытаетесь получить значение, вы используете переменную, содержащую строку SQL, и в ResultSet нет столбца, который соответствует

Это должно работать лучше:

String b_code="select max(Book_code) from books";
try {
    pst = conn.prepareStatement(b_code);
    rs = pst.executeQuery();
    rs.next();
    int a = rs.getInt(1);
    System.out.println(String.format("max(Book_code) is %d", a));
} catch(Exception e) {
   JOptionPane.showMessageDialog(null , e);
}
  • 0
    да, это работает нормально, но показывает максимальное значение, и я хочу maxValue + 1 ..... я сделаю это сам по себе .... Thnx за поддержку.
  • 0
    Сэр, вы можете помочь мне поместить значение a в jTextField1 .. Я попробовал jTextField1.setText (a); вместо System.out.println (String.format ("max (Book_code) равен% d", a)); это показывает мне ошибку "Integer не может быть преобразован в строку".

Ещё вопросы

Сообщество Overcoder
Наверх
Меню