0

私は Android 用の Eclipse を使用して Java を 2 か月間学んでおり、データベースについて学び始めたばかりです。私はここで何か間違ったことをしていることを知っています.答えは簡単ですが、私はそれを得ることができません. そして、この種の質問は過去に 100 万回も出されていることを私は知っています。再度質問してすみません。

TABLE_NAME というテーブルがあります。

|-----|-------|-------|
|._id.|.ITEM..|.LAST..|
|..1..|...A...|.......|
|..2..|...B...|...L...|<--I want the cursor to point to this row which has "L" in column LAST 
|..3..|...C...|.......|
|-----|-------|-------|

「LAST」列に「L」がある行をカーソルが指すようにします。次のコードを使用しています。

cursor = db.rawQuery("SELECT * FROM " +TABLE_NAME +" WHERE "+LAST+" LIKE '%"L"%'", null);

しかし、コードの最後のビットの下に赤い線が表示されます。誰でも助けることができますか?

自分の質問に答える方法を見つけました:

助けてくれてありがとう。'%"L"%'" を '%L%'" に変更した後の新しいコードは次のとおりです。

カーソル = db.rawQuery("SELECT * FROM " +TABLE_NAME +" WHERE "+LAST+" LIKE '%L%'", null);

私が書いた:cursor.moveToFirst(); <---クエリが見つかった行に移動するようにカーソルに指示してから:

THESTRING =cursor.getString(cursor.getColumnIndex(LAST));<--- 行の情報を取得する

ありがとうございました。

4

5 に答える 5

1
LIKE '%"L"%'"

する必要があります

LIKE '%L%'"
于 2012-06-28T09:31:44.917 に答える
0

構文的にこのエラーがあります:

cursor = db.rawQuery("SELECT * FROM " +TABLE_NAME +" WHERE "+LAST+" LIKE '%"+L+"%'", null);

+連結のために2つ欠落しています。または、Lが変数ではなく実際の値である場合は、このようになります

cursor = db.rawQuery("SELECT * FROM " +TABLE_NAME +" WHERE "+LAST+" LIKE '%L%'", null);
于 2012-06-28T09:30:37.620 に答える
0

そのはず:

cursor = db.rawQuery("SELECT * FROM " +TABLE_NAME +" WHERE "+LAST+" LIKE '%"+L+"%'", null);

L変数の周りの+で..

于 2012-06-28T09:31:35.720 に答える
0

これを試してください:あなたは+

 db.rawQuery("SELECT * FROM " + TABLE_NAME + " WHERE " + LAST + " LIKE '%" + L + "%'", null);
于 2012-06-28T09:32:44.047 に答える