我的代码即将访问我的数据库"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 对象的列的数量、类型和属性。因此,这并不能保证您的表是否有数据。
如果你的程序没有打印任何意味着的东西,它就不会进入循环while
这意味着你的查询没有行返回。
您可能已经填充了数据,但您需要提交这些数据,以使其反映/保存到数据库中,否则您将不会在另一个数据库会话中看到数据。