Как я могу встроить Базу данных SQLite в DLL.NET и затем использовать его от C#?

РЕДАКТИРОВАТЬ: Чтобы сохранить пробелы, попробуйте следующее.

awk '
match([110],/elephant[^0-9]*/){
  val=substr([110],RSTART,RLENGTH-1)
  sub("elephant","",val)
  $NF=val "my_string"
  val=""
}
1
'  Input_file


Не могли бы вы попробовать следовать (если вы в порядке с awk).

awk '/elephant/{$NF="my_string"} 1' Input_file

Если вы хотите сохранить вывод в сам файл Input_file, попробуйте выполнить следующее.

awk '/elephant/{$NF="my_string"} 1' Input_file > temp_file && mv temp_file Input_file
10
задан chrischu 26 April 2009 в 17:07
поделиться

4 ответа

Сборка не для хранения файлов, а для хранения кода. Хотя вы можете хранить файлы в сборке, они доступны только для чтения.

14
ответ дан 3 December 2019 в 22:39
поделиться

Если вы используете NTFS, вы можете использовать альтернативный поток данных. В моем проекте мы скрываем базу данных SQLite внутри другого файла, используя альтернативный поток под названием: DB.

0
ответ дан 3 December 2019 в 22:39
поделиться

SQLite упакован и распространяется как один файл C с несколькими (я думаю, 3) заголовочными файлами. Это означает, что вы можете скомпилировать всю программу из 50000 строк с помощью одной команды компиляции и получить файл .o. Оттуда вы можете связать его с DLL вашего приложения с другими файлами, которые вы связываете с этой DLL.

После встраивания sqlite3.o в DLL приложения символы в его API SQLite становятся доступными для ваших программ так же, как другие библиотеки DLL C / C ++ становятся доступными для ваших программ на C # / VB.

Посетите www.sqlite.org/amalgamation.html для получения дополнительной информации.

-2
ответ дан 3 December 2019 в 22:39
поделиться

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

Чтобы загрузить данные из DLL:

  1. Используйте System.Reflection .Assembly для загрузки строки из файла DLL. (Строка - дамп БД)
  2. Создать пустую БД SQLite в памяти.
  3. Использовать загруженную строку в качестве запроса к БД для восстановления ее содержимого.

Теперь вы можете делать любые запросы в памяти.

Чтобы сохранить данные в DLL:

  1. Вывести содержимое базы данных в строку.
  2. Создать временный файл, содержащий SQL-дамп, обернутый в код C #.
  3. Скомпилируйте его с помощью «csc» (или «gmcs» в Mono).

Это глупо, но должно работать. Надеюсь, вы никогда не будете так писать.

0
ответ дан 3 December 2019 в 22:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: