2011-07-28 8 views
0

Quelqu'un peut-il me dire où je vais mal avec cette déclaration SQL Update s'il vous plaît?Déclaration de mise à jour Android SQL

SQLiteDatabase hashDB = openOrCreateDatabase(HASH_DB, MODE_PRIVATE, null); 

hashDB.execSQL("CREATE TABLE IF NOT EXISTS " + HASH_TABLE1 + " (FileName VARCHAR, Hash VARCHAR);"); 


ContentValues updateFilesTable = new ContentValues(); 
updateFilesTable.put("Hash", hash); 
hashDB.update(HASH_TABLE1, updateFilesTable, "FileName" + "=" + file, null); 

file et hash sont les deux cordes et je sais qu'ils ont les données correctes en eux, les dossiers que je suis en train de mettre à jour existent certainement dans la base de données. HASH_TABLE1 pointe également vers la bonne table.

Merci beaucoup

Matt

+0

Pensez à utiliser des instructions préparées. Cela évite tous les problèmes d'échappement, d'injection SQL possible (c'est plutôt quelque chose pour les applications web) etc – sstn

Répondre

0

Vous n'êtes pas en train de citer la chaîne de fichier. Vous voulez que cette ligne lise:

hashDB.update(HASH_TABLE1, updateFilesTable, "FileName = ?", new String[] { file }); 
+0

Génial, merci. – Matt

Questions connexes