2010-12-15 4 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; 
    } 

動作する必要があることを

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

:.............私を助けてください

答えて

2

はWHEREの後にスペースを入れます。

0

可能性のある問題:

  1. はあなたのWHERE句は、単語WHEREで単語categoryを連結しています。
  2. Integer関数は、それに渡される値の合理化を行いますが、aに割り当てられるものに影響する可能性がありますか?
  3. aと表示されますが、テストc.getCount()は実際には同じですか? (ポイント2を参照)。また、c.getCount()は2回目の呼び出しで有効ですか?
  4. どこかに見つからない}があります。あなたが実際に思っているパスを実際にフォローしている機能ですか?