【发布时间】:2019-06-04 00:53:38
【问题描述】:
我正在尝试过滤 sqlite 中的搜索。我想只选择列中具有特定参数的行。
使用下面的代码,我通过函数queueAll()构造的数组得到所有行的返回
有趣的 readFileFromSQLite(): ArrayList {
var fileName = ArrayList<String>()
var cursor = queueAll()
if (cursor.moveToFirst()) {
while (!cursor.isAfterLast) {
//val name = cursor.getString(cursor.getColumnIndex(countyname))
var message_uuid = cursor.getString(cursor.getColumnIndex(COL_y1))
var message_time = cursor.getString(cursor.getColumnIndex(COL_y2))
var message_from = cursor.getString(cursor.getColumnIndex(COL_y3))
var message_to = cursor.getString(cursor.getColumnIndex(COL_y4))
var message_subject = cursor.getString(cursor.getColumnIndex(COL_y5))
var message_body = cursor.getString(cursor.getColumnIndex(COL_y6))
fileName.add(message_body)
cursor.moveToNext()
}
}
cursor.close()
return fileName
}
fun queueAll(): Cursor {
val columns = arrayOf<String>("message_uuid", "message_time","message_from","message_to","message_subject","message_body")
val db = readableDatabase
val comp = "comprimido"
return db.query(CHAT, columns, null, null, null, null, null)
// return db.rawQuery("select * from CHAT where message_from=web_anon , null);
}
现在,我只想提取具有特定字符串的 message_from 列的行。我的尝试: return db.rawQuery("select * from CHAT where message_from = web_anon, null) 返回错误
【问题讨论】:
-
如果 message_from==anon 在 filename.add 前面,你不能添加吗?我的意思是你甚至不说错误是什么以及你把那条线放在哪里,所以这是我能做的最好的。
-
如果字符串实际上是“web_anon”,你应该把它用单引号括起来。
-
感谢@IcedLance 和 Giorgos。这两种形式都有效。我将使用第二个选项,已经在数据库中选择了我想要的数据,使用 Giorgos 建议的单引号。