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");
}
}
答
看来你在值
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
使用参数化查询。这样,你就不会有这样的问题。 –
学习这个http://stackoverflow.com/questions/1324641/cant-insert-byte-into-mysql-using-java –
SQL中的字符串必须是**引号**。 –