2016-03-07 2 views
0

Je suis nouveau sur Android. J'essaye de mettre à jour l'information dans la base de données sqlite. La plupart du temps je peux mettre à jour les informations mais parfois mon téléphone sort avec une erreur de mise à jour. J'ai débogué plusieurs fois, cela ne montre rien de mal avec mon code. J'utilise Android Version 5.1.1 Lollipop comme outil de test. La plupart du temps, la mise à jour de sqlite fonctionne bien, mais parfois l'application va planter.Android: Mettre à jour la base de données SQLite

Ce qui suit est mon code de mise à jour de code. S'il vous plaît dites-moi ce qui ne va pas avec mon code.

public void updateArticle(String NewName, String oldName) { 
    SQLiteDatabase db = getWritableDatabase(); 
    ContentValues values = new ContentValues(); 
    values.put(COLUMN_ARTICLENAME, NewName); 
    db.update(TABLE_ARTICLE, values, COLUMN_ARTICLENAME + " = '" + oldName + "'", null); 
    db.close(); 
} 

Merci.

+0

* "mais parfois mon téléphone sortir avec erreur de mise à jour" * Quelle erreur exactement? – m0skit0

+0

Quelle est l'erreur sur votre studio? – Trinity

+0

En fait n'est pas une erreur, il ne peut tout simplement pas mettre à jour les dernières informations. Par exemple, si Old Name est Java Tutorial et que vous mettez à jour le nouveau nom de Java Programming, je débogue et je vois qu'il n'y a pas de mise à jour vers sqlite. Mais parfois, je mets à jour, c'est une mise à jour réussie. Je sens quelque chose de bizarre. –

Répondre

0

vous devez mettre à jour la version du db aussi!

@Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     try 
     { 
      db.execSQL(DROP_TABLE); 
      onCreate(db); 
      Message.message(context, "onUpgrade called"); 
     } catch (SQLException e) 
     { 
      Message.message(context, "" + e);   } 
    } 

avec le Database_Version = 1

+0

Oui, j'ai la fonction onUpgrade pour mettre à jour la version de db. –

-1

Il peut y avoir plus d'un tutoriel Java. Ainsi, lorsque le curseur commence à chercher des lignes, il met à jour une autre ligne qui n'est pas la ligne attendue. Imaginez qu'il y ait une liste et que vos lignes soient listées dessus. Prendre l'item avec id et le mettre à jour est une meilleure pratique de codage. Vous pouvez avoir regarder les liens suivants j'espère que cela aidera votre problème.

http://androidopentutorials.com/android-sqlite-example/ http://www.mysamplecode.com/2012/07/android-listview-cursoradapter-sqlite.html

+0

Merci pour votre réponse –

+0

Malheureusement nous avons pris la réputation des mines :) – Trinity