我在设备上访问SQLite数据库。并从表中获取一些值
Cursor c = db.query(.....);
我尝试将此值与其他字符串值进行比较:
if(c.getString(0) == "value")
但是此比较始终返回false。
在调试中,我看到值,c.getString(0)
是“value”,但比较返回false ..
如何比较这些值?
我也试过c.getString(0).toString()
。
答案 0 :(得分:3)
尝试使用:
if(c.getString(0).equals("value"))
答案 1 :(得分:0)
意识到c.getString(0)
意味着您正在请求Cursor对象当前指向的记录上的0列索引。如果您不使用managedQuery,我建议您在尝试提取数据之前调用c.moveToFirst()
。然后明确请求c.getString(c.getColumnIndex("nameofcolumn"));
所需的列索引。请注意,当然,必须在查询中请求“nameofcolumn”。
答案 2 :(得分:0)
获取toString()
之类的值后,您无需使用getString(0)
。您只需使用以下语句对此进行比较:
if(cursor.getString(0).equals("value")){
}