【问题标题】:Sqlite data with desktop application带有桌面应用程序的 Sqlite 数据
【发布时间】:2019-01-31 17:48:32
【问题描述】:

我正在创建 java 桌面应用程序。我已经使用 exe4j 创建了我的 jar 文件的 exe。现在我正在使用简单的活页夹软件将我的 sqlite 数据库与我的 exe 绑定。但是当我运行我的应用程序时,数据被正确保存,但是当我重新运行应用程序时,我之前保存的数据不存在。请帮忙

我已经尝试使用特定路径,即将 sqlite db 文件存储在特定位置,它可以工作,但它并不安全,因为任何人都可以打开该文件。

我需要将数据库与我的应用程序一起嵌入,但是当我重新运行我的应用程序时,数据库没有保存数据。

【问题讨论】:

    标签: java swing sqlite desktop-application


    【解决方案1】:

    听起来您的数据只是临时存储的,因为 SQLite 正在使用临时内存数据库,因为它找不到指定的数据库。请指定您使用的 SQLite 驱动程序的版本,以及在您的代码中使用它的示例。

    您是否担心有人访问数据库的安全性,那么您不妨考虑 SQLite 之外的另一个数据库。

    【讨论】:

    • 我调用数据库的代码如下 Class.forName("org.sqlite.JDBC"); con =DriverManager.getConnection("jdbc:sqlite:demo_system.db");我可以将 db 文件存储在我的资源文件夹中并访问该文件吗?我尝试将文件存储在资源文件夹中,但是当 jar 为 exe 格式时,我无法获取资源路径
    • Java 似乎没有找到您的数据库。你确定它在类路径上吗?构建项目后,运行它并执行数据库写入。然后,查看 dist 文件夹,直到找到一个不包含任何内容的“demo_system.db”文件。这是 java 寻找你的数据库的地方。
    • 如果找不到,SQLite 应该创建一个数据库,因此项目中的某处应该有一个空数据库。将你的数据库保存在那里。
    猜你喜欢
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-06
    • 2013-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多