Androiddv
Androiddv

Reputation: 47

how to update sqlite db in Android?

I want to update one row based on multiple row value, After run the application getting error like = ( FATAL EXCEPTION: main android.database.sqlite.SQLiteException: near "=": syntax error (code 1): , while compiling: UPDATE Tablename SET sFollowed=?,Code=?,Name=? WHERE Vessel_Name= )

Here is my update method in MyDbhelper class

public boolean update_isFollowed(String strVesselName , String strVesselNotationNumber, String strIsFollowed) {
        SQLiteDatabase db1 = getReadableDatabase();

        ContentValues values=new ContentValues();
        values.put(COL_VesselName,strVesselName );
        values.put(COL_ClassCodeNumber , strVesselNotationNumber);
        values.put(COL_IsFollowedVessels, strIsFollowed);

       int id=db1.update(Table_VesselList,values,COL_ClassCodeNumber + "=" +strVesselNotationNumber +" and "+ COL_VesselName +"="+strVesselName,null);

        return id > 0;
    }

Upvotes: 0

Views: 52

Answers (2)

Srikanth K
Srikanth K

Reputation: 190

Do something like this

In your activity

private UpdateDataInDB mUpdateDataInDb;
mUpdateDataInDb = new UpdateDataInDB(activity);

// call the update method with updated strings
mUpdateDataInDb.updateCommentDetails(_name, heading, comment);

In Database class

public void updateCommentDetails(String name, String updatedHeading,
        String updatedComment) {
    // TODO Auto-generated method stub
    mDatabase = mDatabase_handler.getReadableDatabase();
    ContentValues args = new ContentValues();
    args.put("Heading", updatedHeading);
    args.put("Comment", updatedComment);
    mDatabase.update("AddCommentTable", args,"Name" + "= ?", new String[]{ name });
    args.clear();
}

Upvotes: 1

ρяσѕρєя K
ρяσѕρєя K

Reputation: 132992

Use proper where condition string with values as argument. like:

String where = COL_ClassCodeNumber+"=? AND "+COL_VesselName="?";
String[] whereArgs = new String[] {String.valueOf(strVesselNotationNumber),
                                   String.valueOf(strVesselName)};
int id=db1.update(Table_VesselList,values,where,whereArgs);

Upvotes: 0

Related Questions