Запрос возвращает «Данные не найдены» JSP / Oracle - PullRequest
1 голос
/ 21 августа 2010

Я уже давно смотрю на это и, похоже, не могу точно определить проблему.

Что-нибудь выделяется, что может вызвать java.sql.SQLException: данные не найдены

 ResultSet rs = null;
 rs = s.executeQuery("SELECT * FROM customer");

 out.println("<tr><th>Customer ID</th><th>First Name</th>&nbsp;</th></tr>");

 while(rs.next()) {
  out.println("<tr><td>" + rs.getString("customer_id") + "</td><td>" + rs.getString("first_name") + "</td></tr>");
 }

1 Ответ

1 голос
/ 21 августа 2010

Это сообщение об исключении типично для драйвера моста JDBC-ODBC. Поскольку вы, очевидно, используете базу данных Oracle, вам следует использовать драйвер Oracle JDBC , а не драйвер моста JDBC-ODBC. Полноценный драйвер JDBC, предоставленный поставщиком БД, будет работать и вести себя намного лучше во всех областях, о которых вы только можете подумать. Драйвер моста JDBC-ODBC полон ошибок, вы не хотите знать.

Я думаю, что сузил это. customer_id хранится как число. Если я вычитаю rs.getString ("customer_id") из печати, то это работает. это должно быть getInt ("customer_id") или что-то подобное?

Либо замените SELECT * на SELECT colname1, colname2, colname3, либо используйте getString(1), где 1 - индекс столбца. Но все же я бы предпочел использовать собственный чистый драйвер JDBC от Oracle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...