androidsql中的CRUD操作
我只是在android上学习SQL,并遵循一个教程。在教程中提到的,它们工作得很好。但我想使用更新和删除操作。为此,我使用此代码。 删除androidsql中的CRUD操作,android,sql,android-sqlite,crud,Android,Sql,Android Sqlite,Crud,我只是在android上学习SQL,并遵循一个教程。在教程中提到的,它们工作得很好。但我想使用更新和删除操作。为此,我使用此代码。 删除 Contact contact = (Contact)db.getContact(2); db.deleteContact(contact); Log.d("Delete", "Contact Deleted"); 此功能用于从联系人表中删除所有联系人。而我只想删除ID为1的联系人 更新 Log.d("Update Contact", "Updating C
Contact contact = (Contact)db.getContact(2);
db.deleteContact(contact);
Log.d("Delete", "Contact Deleted");
此功能用于从联系人表中删除所有联系人。而我只想删除ID为1的联系人
更新
Log.d("Update Contact", "Updating Contact...");
Contact contact = (Contact)db.getContact(2);
contact.setName("Updated Name");
contact.setPhoneNumber("333444");
db.updateContact(contact);
这个代码用“更新的名字”更新数据库中的所有联系人。但是,我只想更新ID为2的联系人。
我做错什么了吗
DatabaseHandler.java中的Delete函数
public void deleteContact(Contact contact){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_CONTACTS, KEY_ID+"+?", new String[]{String.valueOf(contact.getID())});
db.close();
}
更新功能是
public int updateContact(Contact contact){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_NAME,contact.getName());
values.put(KEY_PH_NO, contact.getPhoneNumber());
return db.update(TABLE_CONTACTS, values, KEY_ID+"+?", new String [] String.valueOf(contact.getID())});
}
在您的
删除联系人方法更改中:
db.delete(TABLE_CONTACTS, KEY_ID+"+?"
致:
在updateContact更改中:
return db.update(TABLE_CONTACTS, values, KEY_ID+"+?", new String [] String.valueOf(contact.getID())});
致:
你能发布你的updateContact和deleteContact方法吗?@giacomoni Question已编辑并添加。是的,对于Android平台上的CRUD操作,打字错误是罪魁祸首。本培训网站:keikis.org/academy/es/Android-index/androd-base-final-project、 –昨天宙斯独裁者
return db.update(TABLE_CONTACTS, values, KEY_ID+"+?", new String [] String.valueOf(contact.getID())});
return db.update(TABLE_CONTACTS, values, KEY_ID+"=?", new String []{ String.valueOf(contact.getID())});