Встроить базу данных .sqlite в приложение .exe c # - PullRequest
0 голосов
/ 02 мая 2018

Я хочу встроить базу данных SQLite в свое приложение формы C # для Windows (.exe), чтобы я мог дать очень не технически подкованному клиенту только файл .exe и ничего больше. База данных доступна для чтения и записи, и мне нужно получить доступ к ее пути для источника данных, например:

 SQLconnect = new SQLiteConnection("DataSource=" + path + ";Version=3;Compress=True;");

Я также пытался сохранить базу данных в папку на рабочем столе, но SQLiteConnection.CreateFile (путь), кажется, не удается, потому что, если я помещаю файл .exe вне папки bin / debug, .exe вообще не открывается (но создает нужная папка на рабочем столе).

Но пока он находится в bin / debug, он создает файл базы данных и создает таблицы, и .exe работает отлично. В любой точке приложения нет ошибок.

1 Ответ

0 голосов
/ 02 мая 2018

Чтобы включить dll SQLite, вам нужно изменить свойство ссылки и пометить его как Embedded Resource. Вам, вероятно, придется использовать ILMerge См. this .

Вы не можете встроить базу данных. Итак, у вас есть два следующих варианта:

  1. Вы можете создать In-Memory / Temporary database .

    var connection = new SQLiteConnection ("Источник данных =: память:");

  2. Создание базы данных на ходу. При запуске приложения вы можете создать и заполнить базу данных. См это .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...