2017-02-26 11 views
-1

こんにちは私は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

使用パラメータ化クエリと一致する必要があります値

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

これを学ぶhttp://stackoverflow.com/questions/1324641/cant-insert-byte-into-mysql-using-java –

+0

文字列はSQLでは**引用符で囲む必要があります**。 –

答えて

0

あなたは、両方の句の要素の数が

+0

なぜdownvote ...これは唯一のエラーではないかもしれませんが、opによって提供されるコードの有効な提案です – scaisEdge