2013-05-16 1 views
0

J'ai une table dans laquelle im insérer des données sauf un champ à la fois, une autre fois je veux insérer les données non remplies, im essayant de mettre à jour la table avec cette valeur . J'ai essayé la requête ci-dessous, mais obtenir une erreur. plz me aider à le fairemettre à jour la requête à la dernière insérée brute ID en sq-lite

public boolean insertConfigStartTime(Long StartTime) 
{ 
    ContentValues updateContentValues = ConfigStartTimeValue(StartTime); 

    if(this.data.update("tb_Config", updateContentValues, "id=select last_insert_rowid()", null)>0) 
    return true; 
    else 
    return false; 

} 


    public ContentValues ConfigStartTimeValue(Long StartTime) 
{ 
    ContentValues configContentvalues = new ContentValues(); 
    configContentvalues.put("ProcessStartTime", StartTime); 
    return configContentvalues; 

} 
+0

Quelle erreur obtenez-vous? –

+0

05-16 09: 45: 24.133: E/AndroidRuntime (7073): FATAL EXCEPTION: principal 05-16 09: 45: 24.133: E/AndroidRuntime (7073): android.database.sqlite.SQLiteException: près de "select" : erreur de syntaxe (code 1):, lors de la compilation: UPDATE tb_Config SET ProcessStartTime =? WHERE id = select last_insert_rowid() –

+0

Votre requête est incorrecte. –

Répondre

0

La syntaxe correcte est:

"id = last_insert_rowid()" 

Cependant, cela ne fonctionne que si vous utilisez le même objet de base de données pour l'insertion et la mise à jour, à savoir la base de données la connexion ne doit pas avoir été fermée/rouverte.

Questions connexes