public public udpateNoteInfo(String text){
ContentValues val = new ContentValues();
val.put(KEY_CONTENT5, text);
sqLiteDatabase.update(MYDATABASE_TABLE, val,"ORDER_BY("+KEY_ID+") DESC LIMIT 0,1", new String[]{text});
}
Je tente de mettre à jour la dernière ligne de la colonne KEY_CONTENT5 dans mon SQLite, mais c'est une erreur. Je suppose que c'est son erreur au "ORDER_BY("+KEY_ID+") DESC LIMIT 0,1"
mais je ne sais pas comment le corriger. S'il vous plaît dites-moi si vous le savez. Je vous remercie.Impossible de mettre à jour la dernière ligne sur SQLite
ERROR:
09-05 11:47:54.769 E/Database(4386): Error updating note=Test using UPDATE PERSONAL_TABLE SET note=? WHERE _id = (SELECT max(_id) FROM PERSONAL_TABLE)
Classe d'activité:
public void updateNote(String txt) {
mySQLiteAdapter = new PersonalSQLiteAdapter(this);
mySQLiteAdapter.openToWrite();
cursor = mySQLiteAdapter.queueAll();
if (cursor != null) {
mySQLiteAdapter.udpateNoteInfo(txt);
}
mySQLiteAdapter.close();
}
classe SQLiteAdapter (pas d'activité):
public void udpateNoteInfo(String text) {
ContentValues val = new ContentValues();
val.put(KEY_CONTENT5, text);
sqLiteDatabase.update(MYDATABASE_TABLE, val, KEY_ID + " = (SELECT max("
+ KEY_ID + ") FROM " + MYDATABASE_TABLE + ")",
new String[] { text });
}
J'essaie votre suggestion comme ceci: sqLiteDatabase.update (MYDATABASE_TABLE, val, "OU "+ KEY_ID +"= (SELECT max ("+ KEY_ID +") FROM "+ MYDATABASE_TABLE +") ", new String [] {text}); Mais c'est toujours une erreur. – Yoo
Collez l'erreur ici, il peut être connecté à autre chose. – IncrediApp
S'il vous plaît voir mon edit ci-dessus. Je mets 'WHERE' dehors parce qu'il a double WHERE dans logcat alors je pense que c'est faux. Cependant, c'est toujours une erreur. Merci de votre aide. – Yoo