【发布时间】:2012-12-13 02:44:02
【问题描述】:
我正在使用tidesdk 1.3.1-beta 和tideSDK Developer 1.4.2。我正在使用预加载的 sqlite3 数据库在我的应用程序中显示数据。我的问题是 db.execute(select * ... 语句不返回任何数据但是我可以看到该表包含数据。但是 db.execute 在创建任何表或向表中插入记录时是成功的。网络检查器只是显示“未找到”错误。
我也无法通过设置 Ti.API.setLogLevel(7) 来增加日志级别;
这里是代码sn-p。
var db = Ti.Database.openFile(Ti.Filesystem.getFile(Ti.Filesystem.getApplicationDataDirectory(), 'new.db'));
db.execute("CREATE TABLE IF NOT EXISTS BOOKS (TITLE VARCHAR, AUTHORS VARCHAR");
var rows = db.execute("SELECT * FROM BOOKS");
while (rows.isValidRow()) {
document.getElementById("area").innerHTML += "<br>" + rows.fieldByName('TITLE');
rows.next();
}
【问题讨论】:
-
呃,你第2行的SQL语句坏了。
-
您可以放心地忽略第 2 行。假设 books 表有数据。但不知何故,它没有显示出来。 db.execute 行不显示任何内容。[19:04:40:552] [Ti.JavaScript.JSUtil] [Debug] 评估 JavaScript 文件位于:C:\ProgramData\TideSDK\modules\win32\ui\1.3.1- beta\ui.js [19:04:40:578] [Ti.File] [Debug] ToString: C:\Users\XXX\AppData\Roaming\TideSDK\XXX\libdb.sqlite [19:04:40:591 ] [Ti.Database.DB] [Debug] 使用 SELECT * FROM BOOKS [19:04:40:666] [Ti.Proxy] [Debug] 查找代理信息:api.appcelerator.net/p/v1/app-track