我遇到的这个错误是由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);