在Adobe Air应用程序中访问SQLite DB时出错

时间:2011-01-17 14:36:54

标签: javascript sqlite adobe air aptana

我在Adobe Air中访问SQLite数据库中的表时遇到错误。我正在使用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);  
    }  
 }

告诉我文件存储位置的跟踪打印正常,“数据库已打开!”一行。我得到的错误信息是:

  

从DB检索笔记时出错:SQLError:'错误#3115:SQL错误。',详情:'没有这样的表:'room_packs'',操作:'执行',detailID:'2013'

据我所知,我正在做的一切正确(根据网上的所有教程)。 SQLite数据库位于项目的根文件夹中,也位于Application Data的LocalSource文件夹中。我哪里错了?

谢谢,

阿德里安

2 个答案:

答案 0 :(得分:1)

我没有看到你的表'room_packs'的CREATE TABLE语句。您收到错误,因为您正在尝试查询甚至不存在的表。首先在使用SELECT语句之前创建一个表'room_packs'。

答案 1 :(得分:0)

管理以对其进行排序。我发现的一些例子不是完整的代码片段。管理以找到更完整的样本,以便能够正确访问数据。