2014-09-05 85 views
-3
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; 
} 

此代码应该保存“名”和“数量”到“联系人”表如果没有从该发现的数量查询 -无法将数据与数据库中存储的Android

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

但即使数据为空,也不会将数据保存到表格中。为什么?

+0

1)不要再次运行此代码或检查联系人是否已经在数据库中2)您可以使用不是“无聊给你”的东西 – Selvin 2014-09-05 12:12:31

+0

@Selvin我需要检查是否在手机中添加了新联系人。所以我只需要在代码再次运行时存储新添加的联系人。怎么做 ? – 2014-09-05 14:14:58

回答

0

rawQuery()永远不会返回null对于Cursor所以您的条件if块永远不会执行。

而不是

if (cursor == null) 

使用

if (!cursor.moveToFirst()) 

测试光标是否为空。