gpt4 book ai didi

java - 无法使用 JDBC 连接获取计数

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

我无法通过查询来获取行数。我已经使用了 JDBC 连接。但是,它没有显示任何错误,但它停止执行该过程。

这是我的代码

Transaction transaction=null;
Connection c = null;
Statement stmt = null;
ResultSet result;
try {
Class.forName("org.postgresql.Driver");
c = DriverManager.getConnection(
"jdbc:postgresql://192.168.1.7:5432/"+userDB,
"postgres", "openerp");
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
int count = 0;
try {
LOGGER.info("In try of get");
factory = HibernateUtil.connectDB(userDB);
LOGGER.info("Connected to DB");
//Open Session
session = factory.openSession();
//Begin Transaction
transaction = session.beginTransaction();
LOGGER.info("Beginning the transaction");
stmt = c.createStatement();
String sql = "SELECT COUNT(*) FROM mycontent_messages where status = '0'";

count = stmt.executeUpdate(sql);
LOGGER.info("successfully got count : "+count);
c.commit();
stmt.close();
c.close();

我得到的异常是

org.postgresql.util.PSQLException: A result was returned when none was expected.
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:307)
at net.vsspl.mycontent.daoimpl.contentImpl.getUnreadCount(contentImpl.java:379)
at net.vsspl.mycontent.services.countUnreadMessages.main(countUnreadMessages.java:49)

它记录到“开始交易”。之后就没有显示任何东西了。我的代码有问题吗?

最佳答案

您想要从查询中获取结果集并以这种方式处理它,而不是获取受影响的行数..

ResultSet rs =  stmt.executeQuery(sql);
int count = 0;
if(rs.next())
{
count = rs.getInt(1);
}

关于java - 无法使用 JDBC 连接获取计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25264168/

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