从SQLite和Cursor比较问题中获取价值

时间:2011-06-15 15:35:12

标签: java android

我在设备上访问SQLite数据库。并从表中获取一些值

Cursor c = db.query(.....);

我尝试将此值与其他字符串值进行比较:

if(c.getString(0) == "value")

但是此比较始终返回false。

在调试中,我看到值,c.getString(0)是“value”,但比较返回false ..

如何比较这些值?

我也试过c.getString(0).toString()

3 个答案:

答案 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")){

}