Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to update Sqlite database for only one column using WHERE clause in android [duplicate]

Possible Duplicate:
SQLite in Android How to update a specific row

Is it possible to update database for one column using where statment And this was my table structure and i need to update "messagestatus" column using "id".

db.execSQL("CREATE TABLE IF NOT EXISTS autosms(id INTEGER PRIMARY KEY AUTOINCREMENT ,phonenumber VARCHAR(15) ,message VARCHAR(5000) , year VARCHAR(10) , month VARCHAR(10) , date VARCHAR(10) , hour VARCHAR(10) , minute VARCHAR(10) , messagestatus VARCHAR(10))");

I tried with this, but with out Success theres an warning "No such column Send"

public void update(int id)
{
        String s = "Send";
        db= SQLiteDatabase.openDatabase("data/data/com.example.schduled_messages/SMS_Schdule_Sample.db", null, SQLiteDatabase.CREATE_IF_NECESSARY);
        db.execSQL("UPDATE autosms SET messagestatus="+s+" WHERE id="+id+""); 
    }

Thanks in Advance..

like image 267
Vishnu Avatar asked Nov 28 '12 10:11

Vishnu


1 Answers

String values must be enclosed in quotes:

"UPDATE autosms SET messagestatus='"+s+"' WHERE id="+id+""

I've added a quote here '"+s+"'

Without it, here is how your string expands:

"UPDATE autosms SET messagestatus=Send WHERE id=1234

SQLite will try to find a column called Send and set messagestatus to its' value.

like image 170
Simon Avatar answered Sep 28 '22 14:09

Simon