2017-02-26 1 views
-1

Salut J'essaie d'insérer des valeurs dans ma base de données sqlite mais j'obtiens un "jeton non reconnu" pour la dernière exception de valeur pour le tableau byte. voici le code:android sqlite: Insérer une erreur de syntaxe de requête

public void insertImage(String userName, String userMob, String meterReading, String readingAddress, String readingRemark, String readingDate , byte[] imageBytes) { 
     try { 
      mDb.execSQL("INSERT INTO " + IMAGES_TABLE +"(" + USER_NAME + ", " + USER_MOB + ", " + METER_READING_TEXT + ", " + READING_REMARKS + ", " + READING_DATE + ", " + IMAGE + ")" + 
        " VALUES (" + userName + ", " + userMob + ", " + meterReading + ", " + readingAddress + ", " + readingRemark + ", " + readingDate + ", " + imageBytes + ");"); 
     } 
     catch (Exception ex){ 
      ex.printStackTrace(); 
      Log.e("-----","dasdasdas"); 
     } 
     } 
+3

Utiliser des requêtes paramétrées. De cette façon, vous n'aurez pas de problèmes comme celui-ci. –

+0

apprendre ceci http://stackoverflow.com/questions/1324641/cant-insert-byte-into-mysql-using-java –

+0

Les chaînes doivent être ** citées ** dans SQL. –

Répondre

0

semble que vous avez 6 entrée dans l'étude article 7, mais dans les valeurs

try { 
     mDb.execSQL("INSERT INTO " + IMAGES_TABLE + 
      "(" + USER_NAME + ", " + 
      USER_MOB + ", " + 
      METER_READING_TEXT + ", " + 
      READING_REMARKS + ", " + 
      READING_DATE + ", " + 
      IMAGE + ")" + 
      " VALUES (" + userName + ", " + 
      userMob + ", " + 
      meterReading + ", " + 
      readingAddress + ", " + 
      readingRemark + ", " + 
      readingDate + ", " + 
      imageBytes + ");"); 
    } 

le nombre d'éléments à la fois la clause doit correspondre

+0

pourquoi downvote ... pourrait-il ne pas être la seule erreur mais est une suggestio valide pour le code fourni par op – scaisEdge