android sqlite:插入查询语法错误

问题描述:

您好我想插入我的sqlite数据库中的值,但我得到“无法识别的令牌”字节数组的最后一个值异常。这里是代码:android sqlite:插入查询语法错误

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

使用参数化查询。这样,你就不会有这样的问题。 –

+0

学习这个http://stackoverflow.com/questions/1324641/cant-insert-byte-into-mysql-using-java –

+0

SQL中的字符串必须是**引号**。 –

看来你在值

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 + ");"); 
    } 

6进入第7,但元件的两个子句中的数量必须

+0

为什么downvote ...可能这不是唯一的错误,但是对于由op提供的代码是有效的suggestio – scaisEdge