无法将数据存储到android中的数据库

时间:2014-09-05 11:53:09

标签: android database

public int insertContacts(String n, String p) 
{ 
  String query = "select * from contacts where number='" + p +"'"; 
  cursor = db1.rawQuery(query, null); 
  if (cursor == null) { 
     count++; 
     String sql = "insert into contacts(name, number) values('" + n +"','" + p + "')";
     db1.execSQL(sql);
  } 
  return count; 
}

如果在此查询中找不到该号码,此代码应该将“名称”和“号码”保存到“联系人”表中

String query = "select * from contacts where number='" + p +"'";

但即使数据为空,也没有数据保存到表中。为什么?

1 个答案:

答案 0 :(得分:0)

rawQuery()不会为null返回Cursor,因此您的条件if块永远不会被执行。

而不是

if (cursor == null)

使用

if (!cursor.moveToFirst())

测试光标是否为空。