检查值是否存在

时间:2011-06-03 11:15:33

标签: android sqlite

如何检查表中列中是否有值可用我使用这种方式但是当值不在表中时应用程序崩溃

Cursor r = db.query(DATABASE_TABLE3,
                    new String[] { "_id", "point_name", "No_of_visits" }, 
                    "point_langtitude" + "=" + lang + " and " + "point_latitude"
                    + "=" + lat,
                    null, 
                    null, 
                    null, 
                    null);

if(r == null)
{
  return true;
}
else
{
  r.moveToFirst();
  ContentValues args = new ContentValues();
  args.put("No_of_visits", 7);
  boolean d = db.update(DATABASE_TABLE3,
                        args,
                        "_id" + "=" + r.getInt(0),
                        null) > 0;
  return false;
}

2 个答案:

答案 0 :(得分:1)

if(r != null && r.moveToFirst()) {
    // Update
    r.close();
} else {
    // Do not call r.close() here because r is null
}

答案 1 :(得分:1)

仔细看:

if(r == null)
{
  // r is null
  r.close(); // what now ... ?
  return true;
}

在提问之前使用调试器:)