2017-08-16 71 views
0

我有一個應用程序,其中包含來自Mainactivity的sqlite數據庫和聯繫人列表,我已經在arraylist中添加了聯繫人,並將其保存在sqlite數據庫中,並從sqlite數據庫中獲取。但porblem是,我想從ID使用ID從sqlite數據庫中刪除特定的行。我如何做到這一點如何使用android在android中刪除sqlite數據庫中的行?

代碼Mainactivity的: -

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); 

    } 

} 

具體funtion sqlite的databas刪除聯繫人。

// 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

我不知道如何刪除項目使用ID – Niraj

+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; 
} 

考慮到您有一個表列名稱「id」,您可以這樣調用它。

delete(tableName,"id=1") 
相關問題