9
我正在編寫android購物管理器應用程序,並在嘗試關閉我的SQLite數據庫表時遇到錯誤。Android SQLite異常:由於未處理的語句導致無法關閉
ItemsDb idb = new ItemsDb(this);
idb.open();
ArrayList<String> itemNames = idb.getItemNames();
for(int i=0; i < itemNames.size(); i++){
String itemName = itemNames.get(i);
String itemID = idb.getItemID(itemName);
String itemName = idb.getItemNames().get(i);
String itemPrices = idb.getItemPrices().get(i);
String itemQuantity = idb.getItemQuantities().get(i);
String dateBought = idb.getDateBought(itemName);
String decayRate = idb.getDecayRate(itemName);
String decayType = idb.getDecayType(itemName);
String lastDecay = idb.getLastDecay(itemName);
String prevQuantity = idb.getPreviousQuantity(itemName);
}
idb.close();
這並不與其他調用發生在這個類,所以,我想知道是否是因爲有很多電話來這裏的數據庫的循環。 錯誤是SQLite Exception: unable to close due to unfinalised statements
。
從「ItemsDb」類中的錯誤行是這裏
public ItemsDb(Context c){
ourContext = c;
}
public ItemsDb open() throws SQLException{
ourHelper = new DbHelper(ourContext);
ourDatabase = ourHelper.getWritableDatabase();
return this;
}
public void close(){
ourHelper.close();
}
顯然sqlite3的有破壞先前的DB調用一個finalize方法,但我不知道如何實現這個或者即使有必要在這裏。
對此的任何幫助將是偉大的。
你在聲明中使用了任何遊標嗎? – Jivings 2012-02-19 22:59:54