0
 Cursor cursor = db.rawQuery("SELECT id,lastname,status FROM people WHERE " + "id = "+ IncomingiD +" FROM people WHERE status =100 ); ",null);

ピープルテーブルの「status=100andid=incomingid」にアクセスしたい。上記の切り取ったコードを書きましたが、以下のエラーが発生します。そのクエリの何が問題になっていますか?手伝っていただけませんか ?

E/Error(996): Error while openining peopleandroid.database.sqlite.SQLiteException: near "FROM": syntax error: , while compiling: SELECT id,lastname,status FROM people WHERE  id = 1 FROM places WHERE status =100 ); 
4

3 に答える 3

1

FROM peopleクエリに2回パートがあります:

  • まず、正しい場所で、select句とwhere句の間
  • 次に、where句の最初の条件の後に2回目。

whereまた、クエリに2つあることに注意してください。2つの条件はand、2番目ではなく、とで区切る必要がありwhereます。

)ああ、そしてあなたはあなたの質問の終わりに締めくくりがあるようにも見えますか?


基本的に、クエリは次のようになります。

SELECT id,lastname,status 
FROM people 
WHERE id = ....
FROM people 
WHERE status =100 
); 

しかし、それはそのように見えるはずです:

SELECT id,lastname,status 
FROM people 
WHERE id = ....
    and status = 100 


結局、Javaコードは次のようになると思います。

Cursor cursor = db.rawQuery("SELECT id, lastname, status FROM people WHERE id = " + IncomingiD + " AND status = 100",null);
于 2012-05-19T20:30:43.050 に答える
0

クエリは次のようになります

 Cursor cursor = db.rawQuery("SELECT id,lastname,status FROM people WHERE " + "id = "+ IncomingiD +"AND status =100 ); ",null);
于 2012-05-19T20:30:18.130 に答える
0

クエリが間違っています。sqlステートメントにはFROMを1つだけ含めることができます。

これを試して:

cursor = db.rawQuery("SELECT id,lastname,status FROM people WHERE " + "id = "+ IncomingiD +" AND status =100 ); ",null);
于 2012-05-19T20:31:00.960 に答える