2016-02-14 5 views
1

Запуск моего кода с помощью Visual Studio Launcher, функция prepare_v2 возвращает значение null для оператора (но код ошибки - SQLITE_OK). Однако запуск из exe через проводник Windows работает по назначению.sqlite3_prepare_v2 возвращает null для оператора

Поскольку он работает с исполняемым файлом, я предполагаю, что имена db-, table и column верны. Поэтому его (imo) не является фактически созданной базой данных (что может произойти, если имя db пусто (или неправильно?)).

База данных и sqlite-dll копируются в выходной каталог (событие предварительной сборки).

Итак, я принимаю его что-то VS2013?

+0

Прекратите использование относительных путей, и проблема исчезнет. – IInspectable

+0

omg, по-видимому 4am is not подходящее время. полностью забыл, что путь lauch связывается с каталогом проекта при запуске через визуальную студию. –

+0

@ Необычайно хочется ответить как ответ, так что я могу принять его? –

ответ

1

Единственная ситуация, когда sqlite3_prepare_v2() возвращает инструкцию без SQLITE_OK, когда текст инструкции пуст.

По-видимому, ваш код вообще не создает какой-либо SQL-запрос, если текущий каталог не является каталогом проекта.

Смежные вопросы