Reputation: 45
I am trying to update the date value in the database which is hold as a text, however I stucked here, it takes the user correctly, but does not update the current date;
public int getID(String userName) {
String colums[] = {userName};
SQLiteDatabase db = this.getReadableDatabase();
String sql = "SELECT * FROM user WHERE userName=?";
Cursor cursor = db.rawQuery(sql,colums);
cursor.moveToFirst();
if(cursor.getCount() > 0){
int id = cursor.getInt(0);
db.close();
cursor.close();
return id;
}
db.close();
cursor.close();
return 0;
}
The part that I try to update the date, the app is closed suddenly;
public void update(User user, String currentDate){
SQLiteDatabase db = this.getWritableDatabase();
int ID = getID(user.getUserName());
String strSQL = "UPDATE user SET date = " + currentDate + " WHERE id =?" + ID ;
db.execSQL(strSQL);
db.close();
}
Upvotes: 0
Views: 106
Reputation: 75798
String strSQL = "UPDATE user SET date = " + currentDate + " WHERE id =?" + ID ;
Seems like SYNTAX (May be Quotes) issue costs you. You can try with
public void update(User user, String currentDate){
int user_id = getID(user.getUserName());
SQLiteDatabase db = this.getWritableDatabase();
ContentValues data=new ContentValues();
data.put("date",currentDate);
db.update("user", data, "id=" + String.valueOf(user_id), null);
db.close();
}
Upvotes: 2