android.database.sqlite.SQLiteException: unrecognized token: "266_1"

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pbm863521/article/details/78941059

android.database.sqlite.SQLiteException: unrecognized token: "266_1"
出现上面异常,查看log,发现是sql语句出了问题:
public String getOneFaceFeature(String faceCountId) {
    Cursor cursor = db.rawQuery("select id," + FACE_FEATURE + " from " + TAB_FACE_FEATURE +" where " + FACE_COUNT_ID + " = " + faceCountId, null);

异常信息是不能识别信息。发现查询条件是String类型。而在sql语法中字符串是要加单引号‘’的,否则无法识别。当然int类型就不需要了。

修改如下:

 Cursor cursor = db.rawQuery("select id," + FACE_FEATURE + " from " + TAB_FACE_FEATURE +" where " + FACE_COUNT_ID + " = '" + faceCountId+"' ", null);

问题解决。

同时要注意,单引号和字符串之间不能有空格,否则不是原来的值,会报android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0异常。见我上篇博客。

猜你喜欢

转载自blog.csdn.net/pbm863521/article/details/78941059