2011-01-17 17 views
0

Ich erhalte einen Fehler beim Zugriff auf eine Tabelle in einer SQLite-Datenbank in Adobe Air. Ich benutze Aptana, um es auf einem Windows 7-Rechner zu programmieren.Fehler beim Zugriff auf die SQLite-Datenbank in der Adobe Air-App

Die Hauptfunktion enthält:

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); 
} 

und die SetupDB Funktion ist:

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); 
    } 
} 

Die Spur mir zu sagen, wo meine Datei gespeichert ist, ok gedruckt, wie die Zeile „ist Datenbank ist offen ! ". Die Fehlermeldung, die ich bekommen ist:

Error retrieving notes from DB: SQLError: 'Error #3115: SQL Error.', details:'no such table: 'room_packs'', operation:'execute', detailID:'2013'

Soweit ich weiß, ich mache alles richtig (nach allen Tutorials im Netz). Die SQLite-Datenbank befindet sich sowohl im Stammordner des Projekts als auch im Ordner LocalSource in den Anwendungsdaten. Wo gehe ich falsch?

Danke,

Adrian

Antwort

0

Managed es zu sortieren. Einige der Beispiele, die ich gefunden habe, waren keine vollständigen Codeabschnitte. Es wurde nach einer volleren Stichprobe gesucht, sodass die Daten ordnungsgemäß abgerufen werden konnten.

1

Ich sehe keine CREATE TABLE-Anweisung für Ihre Tabelle 'room_packs'. Sie erhalten einen Fehler, weil Sie versuchen, eine Tabelle abzufragen, die nicht einmal existiert. Erstellen Sie zuerst eine Tabelle 'room_packs', bevor Sie die SELECT-Anweisung verwenden.