2010-11-04 85 views
9

我想編寫一個查詢來從表中刪除一行。我很困惑寫這份聲明。我需要一些幫助來寫這個。我在這裏用純sql語句提供我的需求。Android中的Sqlite刪除查詢語法

(僞代碼)

delete from tablename where value =="string1" && value2 == "string2" && value3 == "string3"; 

我想爲Android db.delete(tablename, whereclause, whereargs); SQLite的語法來寫這篇文章。

我會感謝您的幫助。

回答

15
String table_name = "myTable"; 
String where = "value1 = 'string1'" 
    + " AND value2 = 'string2'" 
    + " AND value3 = 'string3'"; 
String whereArgs = null; 
mDb.delete(table_name, where, whereArgs); 
+0

感謝您的答覆。我打算使用它。我還有一個問題,如果我想提供整數。我應該直接將整數變量直接放置在'string2'位置。 – Balakrishna 2010-11-05 20:06:21

+0

如果「value2」是整數,那麼你可以寫「value2 = 1」。如果「value2」是TEXT,那麼你必須寫「value2 ='1'」 – user479211 2010-11-08 07:35:27

28

一個更好的辦法是使用

String where = "value1 = ?" 
+ " AND value2 = ?" 
+ " AND value3 = ?"; 
String[] whereArgs = {string1,string2,string3}; 
2
mdb.delete("tablename",new String("value1=? and Value2=? and value3=?"),new String[]{value1,value2,value3}); 
1
SQLiteDatabase db = this.getWritableDatabase(); 
db.execSQL("DELETE FROM tablename WHERE value1='"+string1+"' AND value2='"+string2+"' AND value3='"+string3+"' "); //delete row in a table with the condition 
db.close();