Как читать данные из таблицы в MySQL из Java

0

2, он выводит 1 2 3 4 3 5, вместо 1 2 3 4 5, что я не уверен, почему успех после успеха, но не распечатывает данные из таблицы SQL

Statement st = null;
ResultSet rs = null;
try {
    System.out.println("1");
    Connection con = DriverManager.getConnection(url, user, pass);

    System.out.println("2");

    //Class.forName(driver);

    System.out.println("3");

    st = con.createStatement();
    rs = st.executeQuery("SELECT productcost " +
        "FROM producttable " +
        "WHERE productid = 3;");

    System.out.println("4");
    if (rs.next()) { //get first result
        System.out.println(rs.getInt(1)); //coloumn 1
    }

    System.out.println("5");

    System.out.println("Success");

} catch (Exception e) {
    System.out.println("Error");
}
  • 2
    productcost ли вы написать более подробную информацию о вашей проблеме .. может быть, вывод 1 2 3 4 3 5 Success потому что стоимость productcost из запроса равна 3
  • 0
    Почему вы ожидали, что он не будет печатать что-то между 4 и 5 , когда между ними есть println(rs.getInt(1)) . Почему вы говорите, что «не распечатывает данные из таблицы SQL», когда печатает значение 3 , то есть значение productcost ? Возможно, если вы println("productcost = " + rs.getInt(1)) оператор print на что-то вроде println("productcost = " + rs.getInt(1)) , вы узнаете свой вывод!
Теги:
jdbc

2 ответа

0
Лучший ответ

Причина, по которой вы видите 3 между 4 и 5 состоит в том, что ResultSet содержит 3.

ResultSet.getInt

Получает значение указанного столбца в текущей строке этого объекта ResultSet как int

Попробуйте отладить ваш код и пройдите через этот раздел. Вы увидите, что я показываю ниже.

Изображение 174551

  • 0
    RecordSet ????
  • 0
    @ Андреас лол! исправленный! RS в моем мире == ADODB.Recordset. Сильно используется во многих наших старых приложениях на работе.
Показать ещё 1 комментарий
-2

Вы должны иметь "3" в качестве данных в первом столбце! Потому что вы печатаете данные первого столбца record.i, здесь не вижу никакой проблемы!

  • 0
    Спасибо, что нашли время, чтобы внести ответ. Именно благодаря таким полезным сверстникам, как вы, мы можем учиться вместе как сообщество. Вот несколько советов о том, как сделать ваш ответ великолепным: Как мне написать хороший ответ .

Ещё вопросы

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