# 3115 ошибка при получении данных из базы данных SQLite - PullRequest
0 голосов
/ 04 октября 2011

У меня есть небольшой кусочек кода для извлечения данных из локальной базы данных SQLite (в приложение AIR):

import flash.filesystem.File;
import flash.data.SQLConnection;
import flash.data.SQLStatement;
import flash.events.SQLEvent;

init();
var myConn;

function init():void
{
    var file = new File("app-storage:/game.sqlite");
    myConn = new SQLConnection();
    myConn.addEventListener(SQLEvent.OPEN, myTables);
    myConn.open(file);

}
function myTables(e)
{
    var sqlState = new SQLStatement();
    sqlState.sqlConnection = myConn;
    sqlState.text = "SELECT * FROM background";
    sqlState.addEventListener(SQLEvent.RESULT, showData);
    sqlState.execute();
}
//
function showData(e)
{
    trace("data: "+e);
}

Это всего лишь фрагмент кода «доказательства концепции», и он «живет»"в первом кадре временной шкалы Flash IDE.Что просходит? Когда я компилирую свой SWF (AIR для iPhone), я получаю эту ошибку :

SQLError: 'Error #3115: SQL Error.', details:'no such table: 'background'', operation:'execute', detailID:'2013'

Я создал базовую базу данных с расширением Firefox (SQLiteManager).Что может вызвать эту ошибку? Таблица существует!

Ответы [ 2 ]

0 голосов
/ 17 июля 2013

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

0 голосов
/ 04 октября 2011

В ошибке четко указано, что таблица не существует.
Значит, вы не создали его, или я не знаю ни.
В любом случае, вот вам хорошее доказательство концепции.
Может быть, это тот, который вы могли бы попытаться сделать на телефоне.

[EDIT]
Тогда вы можете попробовать что-то подобное.

file = File.applicationStorageDirectory.resolvePath("tut.db");
myConn = new SQLConnection();
try{
  myConn.open(file , SQLMode.CREATE);
}catch(e:SQLError){
  Alert.show("SQL Error Occured: ", e.message);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...