2012-12-17 94 views
0

我有一个sqlite数据库存储不同的多个用户的数据。我想问如何删除数据库中的特定行?我不太熟悉数据库类型的东西。目前我有一个删除功能,用于删除数据库中的用户信息之一。但我不确定如何删除整行。 (我得到EMAILID,第一&姓氏和SSID在我的数据库。)在sqlite数据库中删除行

public void delete_user(String ssid) { 
    Log.i(TAG,"delete_user ssid["+ssid+"]..."); 

    String[] valuesWhere = new String[1]; 
    valuesWhere[0] = ssid; 

    this.getWritableDatabase().delete("user", "ssid=?", valuesWhere); 
} 

我应该声明,我想删除所有的价值呢?我想知道是否有另一种方法可以删除特定的数据行。任何意见将不胜感激。

回答

2

我应该声明每一个我想要删除的值吗?我想知道是否有另一种方法可以删除特定的数据行。

您当前的代码将删除与ssid传递给delete_user(ssid)相匹配的每一行。如果ssid是一个唯一的列(不重复的值),它将最多删除一行。

但我不确定如何删除整行。

了解SQLiteDatabase#delete()绝不会部分删除一行。

+0

ssid基本上是每行中唯一的值。 –

+0

那么这意味着上面的代码基本上是删除整列?那么,如果我想删除一行,该如何呢? –

+0

不,我很抱歉。 'delete()'删除整行。你不能用delete()来“删除”一列。对于与第二个和第三个参数中传递的数据相匹配的_ row_(在你的情况下''“ssid =?”,valuesWhere'),_whole row_将被删除。 – Sam