我正在创建一个需要数据库连接的 android 应用程序,为此我使用了内置的 SQLiteDatabase 类。我的数据库是使用以下语句创建的:-
SQLiteDatabase db;
db = openOrCreateDatabase("ContactsMain",SQLiteDatabase.CREATE_IF_NECESSARY,null);
db.execSQL("Create Table Contacts (name Text, phno Text PRIMARY KEY, important Integer)");
'important' 的值为 0 或 1,取决于联系人是否重要。要更新此值,我使用以下代码:
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
c.moveToPosition(position);
String ph = c.getString(c.getColumnIndex("phno"));
ContentValues val = new ContentValues();
val.put("important",1);
String query = "update Contacts set important = 1 where phno=" + ph + ";";
db.update("Contacts", val, query, null);
c.close();
db.close();
}
db 和 c 已被初始化如下:
SQLiteDatabase db = openOrCreateDatabase("ContactsMain",SQLiteDatabase.CREATE_IF_NECESSARY,null);
Cursor c = db.rawQuery("SELECT * FROM Contacts",null);
问题是,当我单击列表中的一个项目时,所有联系人的“重要”值都设置为 1,而不仅仅是选定的那个。有人可以帮我吗?