Ошибка при доступе к БД SQLite в приложении Adobe Air - PullRequest
0 голосов
/ 17 января 2011

Я получаю сообщение об ошибке доступа к таблице в базе данных SQLite в моем Adobe Air. Я использую Aptana для кодирования на компьютере с Windows 7.

Основная функция содержит:

SetupDB();
dbQuery = new air.SQLStatement();
dbQuery.sqlConnection = db;
dbQuery.text = "SELECT id FROM room_packs";  // Error occurs here

try {  
dbQuery.execute();  
} catch (error) {  
air.trace("Error retrieving notes from DB:", error);  
air.trace(error.message);  
}

и функция SetupDB:

function SetupDB() {  
    var dbFile = air.File.applicationStorageDirectory.resolvePath("fyw.db");
    air.trace(dbFile.nativePath + " is where my file is stored");

    try  
    {
      db.open(dbFile);
      air.trace("Database is open!");
    }  
    catch (error)  
    {  
          air.trace("DB error:", error.message);  
          air.trace("Details:", error.details);  
    }  
 }

Трассировка, указывающая, где хранится мой файл, печатается нормально, как и строка «База данных открыта!». Я получаю сообщение об ошибке:

Ошибка при получении заметок из БД: SQLError: «Ошибка # 3115: ошибка SQL», подробности: «нет такой таблицы:« room_packs »», операция: «выполнить», detailID: «2013»

Насколько я знаю, я все делаю правильно (по всем урокам в сети). База данных SQLite находится в корневой папке проекта, а также в папке LocalSource в Application Data. Куда я иду не так?

Спасибо

Адриан

Ответы [ 2 ]

1 голос
/ 08 июня 2013

Я не вижу оператора CREATE TABLE для вашей таблицы 'room_packs'.Вы получаете сообщение об ошибке, потому что вы пытаетесь запросить таблицу, которая даже не существует.Сначала создайте таблицу 'room_packs' перед использованием оператора SELECT.

0 голосов
/ 18 января 2011

удалось отсортировать. Некоторые примеры, которые я нашел, не были полными кусочками кода. Удалось найти более полный образец, чтобы правильно получить доступ к данным.

...