您的位置:首页 > 移动开发 > Android开发

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

2017-12-31 11:22 956 查看
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异常。见我上篇博客。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐