Blackberry WebWorks HTML5数据库问题

时间:2012-01-16 03:55:37

标签: html5 sqlite blackberry mobile blackberry-webworks

我在使用sqlite数据库让我的应用程序工作时遇到了很多问题。一切都在涟漪效果很好(我认为这是因为它只是使用chrome的sqlite实现)。但是,一旦我在模拟器(Curve 9300,OS 6)上运行我的应用程序,问题就开始了。我已经到了应用程序可以运行的位置,创建数据库并插入行,所以我知道我的实际查询没问题。

我的应用程序有一个javascript文件,其中包含用于处理数据库的包装器。此javascript文件源自侦听器和作为应用程序核心的页面。问题如下:

  1. 安装应用程序。听众开始跑步。
  2. 从一台模拟器向另一台模拟器发送短信。邮件已成功保存(我可以验证这一点,因为我的横幅指示符数量增加,而且该数字基于查询)
  3. 继续发送文字,横幅指示会增加。
  4. 打开应用程序,阅读所有消息。此时,javascript文件被加载两次,因此我有两个指向同一数据库的db对象。
  5. 关闭应用程序(监听器仍在运行)
  6. 收到的下一条短信导致运行时异常,未提供进一步的详细信息。
  7. 我查看了堆栈跟踪,它只是说异常发生在sms监听器的回调中。这很明显,因为这是查询发生的地方。有谁知道为什么打开与db的第二个连接导致异常?据我所知,db只在事务期间被锁定。除了尝试插入新行之外,肯定没有正在运行的事务。虽然我是javascript的新手,但我很确定没有变量被共享,因为javascript文件被加载到两个不同的页面中。任何想法都将不胜感激。

1 个答案:

答案 0 :(得分:0)

好吧,我找不到解决方案。我不认为blackberry sqlite实现可以处理两个并发连接。相反,我的监听器现在将传入的数据保存到文件中。主应用程序打开时读入文件,然后将所有必要的数据保存到数据库中。之后,文件被删除,应用程序执行查询没有问题。我希望这有助于处理类似问题的任何人。