2010-12-15 62 views
0

我進入這個代碼的記錄與數據庫records.it執行比較真實價值,但它顯示已經存在,每輸入記錄(也可能是舊的或新的記錄。)它沒有返回

boolean ifExisting() { 
     //Cursor c = db.rawQuery("SELECT * FROM sharelist WHERE category='"+str1+"'",null); 

Cursor c = db.rawQuery("SELECT * FROM sharelist WHERE" + "category" + "=" + category,null); 


     Integer a=new Integer(c.getCount()); 

     Log.e("getcount",a.toString()); 
     if(c.getCount()>-1) 
     { return false;} 
    else{ 
     return true; 
    } 

請幫我.............

回答

2

把WHERE後的空間:

"SELECT * FROM sharelist WHERE " + "category" + "=" + category,null 

這應該工作。

0

可能的問題:

  1. 你的WHERE子句與字WHERE串聯詞category
  2. Integer函數是否對傳遞給它的值進行了任何形式的合理化,這可能會影響分配給a的內容?
  3. 您顯示a,但測試c.getCount() - 這兩個值實際上是相同的嗎? (見第2點)。另外,是c.getCount()仍然有效的第二個電話呢?
  4. 有一個}在某處丟失 - 實際上是否按照您認爲的路徑行事?
相關問題