Откройте существующую базу данных SQLite в памяти с помощью Lua - PullRequest
0 голосов
/ 05 сентября 2018

Код в моем проекте сейчас:

local lsqlite3 = require "lsqlite3complete"
self.db_conn = lsqlite3.open("cost.db")

function showrow(udata,cols,values,names)
     assert(udata=='test_udata')
     for i=1,cols do 
         print('',names[i],values[i])
     end
     return 0
end
self.db_conn:exec('select * from cost',showrow,'test_udata')

Нет проблем выбрать записи о стоимости из кода выше, но если я изменю, как показано ниже, и попытаюсь открыть его в памяти:

self.db_conn = lsqlite3.open_memory("cost.db")

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

1 Ответ

0 голосов
/ 05 сентября 2018

База данных памяти - это та, которая существует только в памяти. То есть он не получает свои данные из файла. Из-за этого open_memory не принимает никаких параметров.

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

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

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