Нулевые значения Nativescript SQLite после запросов execSQL - PullRequest
0 голосов
/ 22 сентября 2019

у меня следующая проблема.Я разработал свою базу данных litesql поверх «БД браузера для SQLite» и застрял, как только запрос будет выполнен.Функции, которые я экспортирую, импортируются и используются в nativescript-vue.

Webpack также копирует базу данных с окном * .sqlite на устройство.Версия Android, которую я использую: 9.

Я инициализирую свою базу данных следующим образом:

 var Sqlite = require("nativescript-sqlite");
 var db;

 export function init() {
    if (!Sqlite.exists("test.sqlite")) {
       Sqlite.copyDatabase("test.sqlite");
    }

   new Sqlite("test.sqlite", function(err, dbConnection) {
      if (err) {
          console.log(err);
          return;
      }
      db = dbConnection;
      console.log("connection successful")
   });
}

После запуска консоли функций отображается сообщение «соединение установлено».База данных находится в корне папки приложения.Таким образом, он должен тянуть базу данных?Кроме того, у меня есть еще один вопрос.Как я могу скрыть базу данных в рабочей среде?

Таким образом, я выполняю запрос следующим образом:

export function xxxx(**parameter**) {
    db.execSQL(
        "select random_id from random_table where some_id = ?",
        **parameter**,
        function(err, result) {
            console.log("result 1: " + result + " err: " + err);
        }
    );
}

Вывод:

JS: 'результат 1: null err: null '

Я даже не уверен, правильно ли открывается база данных?

1 Ответ

1 голос
/ 23 сентября 2019

Если вы просто хотите экспортировать файл БД из Android / iOS, вы можете использовать плагин nativescript-share-file и указать правильный путь.

Android

const filePath = application.android.context
            .getDatabasePath("your-db-name.sqlite")
            .getAbsolutePath();

new ShareFile().open({
    path: filePath,
});

Для iOS путь будет другим,

iOS

const filePath = knownFolders.documents().getFile("your-db-name.sqlite").path;

new ShareFile().open({
    path: filePath,
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...