gpt4 book ai didi

java - 从数据库打印查询

转载 作者:行者123 更新时间:2023-12-02 06:25:50 25 4
gpt4 key购买 nike

我正在尝试访问数据库并打印查询。我正在尝试访问 DEVICE 表并打印 DEVICE_ID,但到目前为止我还没有成功。

这是我目前的代码;

public static void main(String[] args) throws FileNotFoundException {
try {
Class.forName("org.hsqldb.jdbc.JDBCDriver");

Preferences sysRoot = Preferences.systemRoot();
Preferences prefs = sysRoot.node("com/davranetworks/zebu");
url = prefs.get("dburl", "jdbc:hsqldb:E:\\eem\\eemdb");

} catch (Exception e) {
e.printStackTrace();
}

Connection c = getConnection();

try {
c.setAutoCommit(true);
Statement s = c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = s.executeQuery("SELECT * FROM eem_db.device");

ResultSet deviceId = s.executeQuery("select device_id from eem_db.device");
System.out.println(deviceId);
} catch (Exception e) {
e.printStackTrace();
}
}

public static Connection getConnection() {
Connection c = null;
try {
c = DriverManager.getConnection(url);
} catch (SQLException e) {
System.out.println("Error initialising connection" + e);
}
return c;
}

返回值为org.hsqldb.jdbc.JDBCResultSet@1d3d68df。我不知道这个值与什么相关,因为我期待 3 个整数值。谁能帮我解决这个问题吗?

最佳答案

您必须迭代 ResultSet 中包含的行,并为每一行获取所需的列:

ResultSet deviceIdRS = s.executeQuery("select device_id from eem_db.device");
while(deviceIdRS.next()) {
System.out.println(deviceIdRS.getString("device_id"));
}

您必须使用与您的列类型相对应的 ResultSet getXXX 方法,例如 getInt、getString、getDate...

关于java - 从数据库打印查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20544102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com