0

我一直在学习 Java,使用 Eclipse for Android,已经 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%'" 后,新代码为:

cursor = 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);

您缺少两个+用于连接。或者像这样,如果 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 回答
0
|..2..|...B...|...L...|<--I want the cursor to point to this row which has "L" i

它应该是

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

于 2012-06-28T09:46:59.063 回答