我已经看了一段时间了,似乎无法确定问题。
有什么突出的会导致 java.sql.SQLException:找不到数据
ResultSet rs = null;
rs = s.executeQuery("SELECT * FROM customer");
out.println("<tr><th>Customer ID</th><th>First Name</th> </th></tr>");
while(rs.next()) {
out.println("<tr><td>" + rs.getString("customer_id") + "</td><td>" + rs.getString("first_name") + "</td></tr>");
}
答案 0 :(得分:1)
此异常消息是JDBC-ODBC桥驱动程序的典型消息。由于您显然使用的是Oracle数据库,因此应使用Oracle JDBC driver,而不是JDBC-ODBC桥驱动程序。数据库供应商提供的完整的JDBC驱动程序将在您能想到的所有领域中更好地执行更多。 JDBC-ODBC桥驱动程序充满了bug,您不想知道。
我想我把它缩小了。 customer_id存储为数字。如果我从打印中取出rs.getString(“customer_id”),那么它确实有效。它应该是getInt(“customer_id”)还是类似的东西?
将SELECT *
替换为SELECT colname1, colname2, colname3
或使用getString(1)
,其中1
是列索引。但是,我更喜欢使用Oracle自己的纯JDBC驱动程序。