ResultSet.next() 不检索行
ResultSet.next() does not retrieve rows
我的代码即将访问我的数据库 "toursdb" 并获得一些结果。我正在使用命令行和 javadb。当我使用 con.getMetaData
时,我确实有结果。当我使用 rs.getMetaData
时也是如此。我没有连接问题。但是我下面的程序没有打印任何东西。
//
import java.sql.*;
class JDBCTest
{
public static void main(String ... args) {
String url = "jdbc:derby://localhost:1527/c:/derbytuto/toursdb";
StringBuilder sb = new StringBuilder();
String query = "select * from AIRLINES";
try {
Connection con = DriverManager.getConnection(url);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(query);
while(rs.next()) {
sb.append(rs.getString("AIRLINE") + " ");
sb.append(rs.getString("AIRLINE_FULL" + "\n");
}
System.out.println(sb);
} catch(SQLException x) {
x.printStackTrace();
}
}
}
//
con.getMetaData
检索此 ResultSet 对象的列的数量、类型和属性。 所以,这不能保证,如果您的 table 有数据与否。
如果您的程序没有打印任何内容,这意味着它不会进入 while
循环,这意味着您的查询没有 return 行。
您可能已经填充了数据,但是您需要提交这些数据,才能将其reflected/save放入您的数据库 否则您将看不到另一个数据库会话中的数据。
我的代码即将访问我的数据库 "toursdb" 并获得一些结果。我正在使用命令行和 javadb。当我使用 con.getMetaData
时,我确实有结果。当我使用 rs.getMetaData
时也是如此。我没有连接问题。但是我下面的程序没有打印任何东西。
//
import java.sql.*;
class JDBCTest
{
public static void main(String ... args) {
String url = "jdbc:derby://localhost:1527/c:/derbytuto/toursdb";
StringBuilder sb = new StringBuilder();
String query = "select * from AIRLINES";
try {
Connection con = DriverManager.getConnection(url);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(query);
while(rs.next()) {
sb.append(rs.getString("AIRLINE") + " ");
sb.append(rs.getString("AIRLINE_FULL" + "\n");
}
System.out.println(sb);
} catch(SQLException x) {
x.printStackTrace();
}
}
}
//
con.getMetaData
检索此 ResultSet 对象的列的数量、类型和属性。 所以,这不能保证,如果您的 table 有数据与否。
如果您的程序没有打印任何内容,这意味着它不会进入 while
循环,这意味着您的查询没有 return 行。
您可能已经填充了数据,但是您需要提交这些数据,才能将其reflected/save放入您的数据库 否则您将看不到另一个数据库会话中的数据。