我在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文件夹中。我哪里错了?
谢谢,
阿德里安
答案 0 :(得分:1)
我没有看到你的表'room_packs'的CREATE TABLE语句。您收到错误,因为您正在尝试查询甚至不存在的表。首先在使用SELECT语句之前创建一个表'room_packs'。
答案 1 :(得分:0)
管理以对其进行排序。我发现的一些例子不是完整的代码片段。管理以找到更完整的样本,以便能够正确访问数据。