2011-06-14 57 views
0

我有以下錯誤:達到編譯SQL語句的最大緩存大小的數據庫

reached max size for compiled sql statement cache for database no space for this 
sql statement in cache select number code status time id from contacts number 
please change your sql statements to use "?" for bindargs of using actual values 

這是我的代碼:

public long updateNumber(String NUMBER,String CODE,String STATUS,String TIME){ 
    ContentValues initialValuesCode = new ContentValues(); 
    initialValuesCode.put(codeOperator, CODE); 
    initialValuesCode.put(status, STATUS); 
    initialValuesCode.put(time,TIME); 
    String prom="0"+NUMBER.substring(0,8); 

    return db.update(Database_Table_Number, initialValuesCode, "NUMBER=?", new  String[{prom}); 

} 


public Cursor getNumberById(String id_par) 
{ 

    return db.query(Database_Table_Number, new String[]{number,codeOperator,status,time,id}, "_ID=?", new String[]{id_par}, null, null, null); 
     } 
     public Cursor getAllNumbers() 
     { 
    return db.query(Database_Table_Number, new String[]{number}, null, null, number, null, null); 
     } 
     public Cursor getAllContacts() 
    { 
    return db.query(Database_Table_Name, new String[] {id,name}, null, null, null, null, "DISPLAY_NAME asc"); 

} 
    public Cursor getDate(String byid){ 
    return db.query(Database_Table_Number, new String[] {time}, "_ID=="+byid, null, null, null, null); 
} 
    public Cursor isEpmty(){ 
    return db.rawQuery("SELECT COUNT(*) FROM ContactsName", null); 
} 

回答

3

哪裏會出現這種情況。我在你的sqlite查詢中看到很多錯誤...

這可能會給你嗎?問題:

"_ID=="+byid 

應該是:

...,"_ID=?",new String[]{byid},... 
+0

我看到了同樣的錯誤,在我的代碼,謝謝你的提示! – 2011-09-09 12:00:02