user1880779
user1880779

Reputation: 2078

Android SQLite Delete Row From Table Where 2 Arguments

This is my database :

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

I'm trying to create a method which takes 2 arguments and deletes a selected row from the database :

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

Am getting this error :

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

I know I'm doing something wrong within delete method.

Upvotes: 10

Views: 13090

Answers (1)

Ridcully
Ridcully

Reputation: 23655

Have a look at the API Docs:

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.

You should do this:

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

Upvotes: 27

Related Questions