【问题标题】:tdeSDK - db.execute wont return any data on Windows 7tdSDC - db.execute 在 Windows 7 上不返回任何数据
【发布时间】: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

标签: sqlite tidesdk


【解决方案1】:

您能否在此处提交有关 TideSDK 的问题:https://github.com/TideSDK/TideSDK/issues

这看起来像一个错误。我们将结帐。

感谢您的报告。

【讨论】:

  • 嗨,我已经为此提交了一个错误 (#104)。已经找到了解决方法。提供列名而不是 * 可以正常工作。
  • 另一个更新:似乎在 sql 查询中检索到的列数是原因。如果我想查询我的整个表,我不能使用我的所有列。我必须使用有限数量的列进行查询。这是一个很大的SHOW-STOPPER。这需要尽快修复。
猜你喜欢
  • 1970-01-01
  • 2013-06-25
  • 1970-01-01
  • 2014-04-14
  • 2012-01-31
  • 2017-11-23
  • 2021-12-13
  • 2016-12-06
  • 2011-04-04
相关资源
最近更新 更多