2012-01-16 71 views
0

我一直有很多問題讓我的應用程序使用sqlite數據庫工作。一切工作都很好(我認爲這是因爲它只是使用chrome的sqlite實現)。但是,一旦我在模擬器(Curve 9300,OS 6)上運行我的應用程序,問題就會開始。我已經到了應用程序可以運行的位置,創建數據庫和插入行,所以我知道我的實際查詢沒問題。Blackberry WebWorks HTML5數據庫問題

我的應用程序有一個JavaScript文件,它具有用於處理數據庫的包裝。這個JavaScript文件來源於監聽器和應用程序核心頁面。問題如下:

  1. 安裝該應用程序。聽衆開始跑步。
  2. 從一個模擬器發送文本消息到另一個模擬器。郵件已成功保存(我可以驗證這一點,因爲我的橫幅指標計數增加,並且該數字基於查詢)
  3. 繼續發送文本,並且橫幅指示符將增加。
  4. 打開應用程序,並閱讀所有消息。在這一點上,JavaScript文件被加載兩次,所以我有兩個數據庫對象指向同一個數據庫。
  5. 關閉應用程序(監聽程序仍在運行)
  6. 接收到的下一條文本消息會導致運行時異常,但未提供進一步的詳細信息。

我看着堆棧跟蹤,它只是說異常發生在短信監聽器的回調。這很明顯,因爲這是查詢發生的地方。有沒有人有任何想法爲什麼打開第二次連接到數據庫導致異常?據我所知,數據庫只在交易過程中被鎖定。除了嘗試插入新行之外,肯定沒有正在運行的事務。儘管我是JavaScript新手,但我確信沒有變量被共享,因爲JavaScript文件被加載到兩個不同的頁面中。任何想法將不勝感激。

+1

代碼?堆棧跟蹤? – 2012-01-16 03:57:02

回答

0

嗯,我找不到解決方案。我不認爲黑莓sqlite實現可以處理兩個併發連接。相反,我的聽衆現在將傳入的數據保存到文件中。主應用程序打開時讀入文件,然後將所有必要的數據保存到數據庫中。之後,文件被刪除,應用程序執行查詢沒有問題。我希望這有助於任何人處理類似的問題。