Caused by: android.database.sqlite.SQLiteException: no such column:

时间:2022-08-31 23:01:59

我遇到的这个错误是由sqlite查询语句产生的,我查看数据库文件,发现要查找的courseName是存在数据库中的,clCourseName代表的列明也是存在的,这两个都无误,所以不知道原因在哪里。

后来从网上找到原因:clCourseName代表的列是字符串类型的,查询语句中的字符串要用引号引上,courseName是字符串类型的,但是在代码中拼接成的查询查询语句里是没有引号的,所以报了错。

解决办法就是:在查询语句中加上引号。

原来的代码:

Cursor mCursor = db.query(true, tbnCourses, 
                new String[]{clCourseBeginweek,clCourseCredit,clCourseEndweek,clCourseLecturer,clCourseName},
                clCourseName+"="+courseName, null, null, null, null, null);

修改后的代码:

Cursor mCursor = db.query(true, tbnCourses, 
                new String[]{clCourseBeginweek,clCourseCredit,clCourseEndweek,clCourseLecturer,clCourseName},
                clCourseName+"='"+courseName+"'", null, null, null, null, null);