我有一个包含sqlite数据库的应用程序和来自Mainactivity的联系人列表我在arraylist中添加了联系人并将其保存在sqlite数据库中并从sqlite数据库中获取相同内容。但问题是我想使用id从sqlite数据库中删除特定的行。我该怎么做
主要活动代码: -
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DatabaseHandler db = new DatabaseHandler(this);
/**
* CRUD Operations
* */
// Inserting Contacts
Log.d("Insert: ", "Inserting ..");
db.addContact(new Contact("Ravi", "9100000000"));
db.addContact(new Contact("Srinivas", "9199999999"));
db.addContact(new Contact("Tommy", "9522222222"));
db.addContact(new Contact("Karthik", "9533333333"));
// Reading all contacts
Log.d("Reading: ", "Reading all contacts..");
List<Contact> contacts = db.getAllContacts();
for (Contact cn : contacts) {
String log = "Id: " + cn.getID() + " ,Name: " + cn.getName() + " ,Phone: " + cn.getPhoneNumber();
// Writing Contacts to log
Log.d("Name: ", log);
}
}
用于删除联系人的特定功能sqlite数据库。
// Deleting single contact
public void deleteContact(Contact contact) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_CONTACTS, KEY_ID + " = ?",
new String[] { String.valueOf(contact.getID()) });
db.close();
}
答案 0 :(得分:0)
您可以使用this帖子或以下方法从表格中删除。
public int delete(String tableName, String where) {
SQLiteDatabase db = getWritableDB();
int deletedVal = -1;
try {
deletedVal = db.delete(tableName, where, null);
} catch (Exception e) {
e.printStackTrace();
}
db.close();
return deletedVal;
}
考虑到你有一个表列名称&#34; id&#34;,这就是你可以调用它的方法。
delete(tableName,"id=1")