Данные Sqlite с настольным приложением

Я создаю настольное приложение Java. Я создал exe-файл моего файла jar, используя exe4j. Теперь я связываю свою базу данных sqlite с моим exe, используя программное обеспечение для простого связывания. Но когда я запускаю свое приложение, данные сохраняются правильно, но когда я перезапускаю приложение, данных, которые я сохранил раньше, нет. Пожалуйста помоги

Я попытался использовать определенный путь, т.е. сохранил файл sqlite db в определенном месте, он работает, но небезопасен, так как любой может открыть файл.

Мне нужно встроить базу данных вместе с моим приложением, но база данных не сохраняет данные, когда я перезапускаю свое приложение.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
624
1

Ответы 1

Похоже, ваши данные только временно сохраняются, потому что SQLite использует временную базу данных в памяти из-за того, что не может найти указанную базу данных. Пожалуйста, укажите, какую версию драйвера SQLite вы используете, а также пример его использования в вашем коде.

Если вы беспокоитесь о безопасности кого-либо, получающего доступ к базе данных, вы можете рассмотреть возможность использования другой базы данных, кроме SQLite.

Мой код для вызова базы данных выглядит следующим образом: Class.forName("org.sqlite.JDBC"); con =DriverManager.getConnection("jdbc:sqlite:demo_system.db"); Могу ли я сохранить файл db в папке моих ресурсов и получить доступ к файлу. Я попытался сохранить файл в папке ресурсов, но когда jar в формате exe я не могу получить путь к ресурсам

user3469842 01.02.2019 18:24

Не похоже, что Java находит вашу базу данных. Вы уверены, что это на пути к классам? После создания проекта запустите его и выполните запись в базу данных. Затем просмотрите папку dist, пока не найдете файл «demo_system.db», который ничего не содержит. Здесь java ищет вашу базу данных.

Dustin R 01.02.2019 18:31

SQLite должен создать базу данных, если она не найдена, поэтому где-то в проекте должна быть пустая база данных. Сохраните там базу данных ваш.

Dustin R 01.02.2019 18:32

Другие вопросы по теме