我一直在学习Java,使用Eclipse for Android,已经有2个月了,并且刚刚开始学习数据库。 我知道我在这里做错了,答案很简单,但我无法得到它。我知道此类问题之前曾被问过1M次。很抱歉再次询问。
我有一个名为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();&lt; ---告诉光标转到查询找到的行 然后:
THESTRING = cursor.getString(cursor.getColumnIndex(LAST));&lt; ---获取行中的信息
再次感谢大家。
答案 0 :(得分:1)
LIKE '%"L"%'"
应该是
LIKE '%L%'"
答案 1 :(得分: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);
答案 2 :(得分:0)
应该是:
cursor = db.rawQuery("SELECT * FROM " +TABLE_NAME +" WHERE "+LAST+" LIKE '%"+L+"%'", null);
使用+左右L变量..
答案 3 :(得分:0)
试试这个:你忘了+
db.rawQuery("SELECT * FROM " + TABLE_NAME + " WHERE " + LAST + " LIKE '%" + L + "%'", null);
答案 4 :(得分: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);