Android SQLite从表中删除行2个参数

时间:2013-03-20 12:30:18

标签: android sqlite row where

这是我的数据库:

// the names for database columns
    public final static String TABLE_NAME = "vremena";
    public final static String TABLE_COLUMN_ID = "_id";
    public final static String TABLE_COLUMN_ONE = "dan";
    public final static String TABLE_COLUMN_TWO = "vrijeme";

我正在尝试创建一个方法,它接受2个参数并从数据库中删除选定的行:

public void delete(String dan, int vrijeme){
    db.delete(TABLE_NAME, TABLE_COLUMN_ONE+"="+dan, TABLE_COLUMN_TWO+"="+vrijeme);
    }

我收到此错误:

The method delete(String, String, String[]) in the type SQLiteDatabase is not applicable for the arguments (String, String, String)

我知道我在删除方法中做错了。

1 个答案:

答案 0 :(得分:25)

查看API文档:

http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html

delete(String table, String whereClause, String[] whereArgs)
Convenience method for deleting rows in the database.

你应该这样做:

public void delete(String dan, int vrijeme){
    db.delete(TABLE_NAME, 
            TABLE_COLUMN_ONE + " = ? AND " + TABLE_COLUMN_TWO + " = ?", 
            new String[] {dan, vrijeme+""});
}