gpt4 book ai didi

Java与ms access数据库交互 - ucanaccess

转载 作者:太空宇宙 更新时间:2023-11-04 06:07:31 26 4
gpt4 key购买 nike

是否有其他方法可以在无限循环结束时正确关闭与 ms access 数据库的连接?因为如果将记录插入表中,则使用下面的代码我看不到插入的新行。看起来数据库没有正确关闭或其他什么...不知道为什么会这样。如果我手动关闭或打开数据库(我的程序仍在后台运行)一切正常 - 新行将出现在我的查询中。

import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Main {

public static void main(String[] args) throws RemoteException,
InterruptedException, SQLException {
while (true) {
Connection con = DBConnection.getDBConnection();
System.out.println("Connection OK!");
Statement s = null;

try {
ResultSet rs = null;
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
con.setAutoCommit(true);
rs = s.executeQuery("SELECT Tel, Msg, Procesat FROM RcvMsg WHERE Procesat = 'NOK'");

while (rs.next())
{
String pn = rs.getString(1);
String str = rs.getString(2);
//do something
}
rs.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
s.close();
con.close();
}

Thread.sleep(5000);
}
}
}

最佳答案

您显示的代码是正确的,但与您的问题完全无关,因为您只是在阅读。怎么插入记录呢?手动使用Access,所以使用另一个进程(与java进程不同)?在这种情况下,当这些新数据以物理方式存储在 access 文件中时,ucanaccess 将能够读取这些新数据(并且可能会在关闭 access 中的表时发生,并且总是在关闭数据库时发生)。

此外,如果您使用另一个线程插入数据(与轮询中的线程不同),您将看到插入的所有记录(没有任何明显的延迟问题)。

关于Java与ms access数据库交互 - ucanaccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29122602/

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