2011-01-17 2 views
0

Je reçois une erreur lors de l'accès à une table dans une base de données SQLite dans mon Adobe Air. J'utilise Aptana pour le coder sur une machine Windows 7.Erreur lors de l'accès à la base de données SQLite dans l'application Adobe Air

La fonction principale contient:

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

et la fonction SetupDB est:

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

La trace me dire où mon fichier est stocké est imprimé ok, tout comme la ligne « base de données est ouverte ! ". Le message d'erreur que je reçois est:

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

Pour autant que je sais que je fais tout correctement (selon tous les tutoriels sur le net). La base de données SQLite se trouve dans le dossier racine du projet ainsi que dans le dossier LocalSource dans Application Data. Où vais-je mal?

Merci,

Adrian

Répondre

0

Réussi à trier. Certains des exemples que j'avais trouvés n'étaient pas des morceaux de code complets. Géré pour trouver un échantillon plus complet, donc a pu accéder aux données correctement.

1

Je ne vois pas d'instruction CREATE TABLE pour votre table 'room_packs'. Vous recevez une erreur parce que vous essayez d'interroger une table qui n'existe même pas. Créez d'abord une table 'room_packs' avant d'utiliser l'instruction SELECT.

Questions connexes