Android中的sqlite中没有此类列错误

Android中的sqlite中没有此类列错误,android,sqlite,Android,Sqlite,我创建了一个表,其中包含: create table student(name text, id integer,year text,section text, subject text, branch text, date text, attendance integer); 当我使用where子句检索行时,它会给出一个错误,指出并没有这样的列apple(实际上apple是section column的值) 此函数用于检索所有行: public

我创建了一个表,其中包含:

 create table student(name text, id integer,year text,section text,
                      subject text, branch text, date text, attendance integer);
当我使用where子句检索行时,它会给出一个错误,指出并没有这样的列apple(实际上apple是section column的值)

此函数用于检索所有行:

public Cursor getAllRows(String year, String section, String branch,
                           String subject, String date) {    

    return db.query(DATABASE_TABLE, new String[] {
                    KEY_ROLLNO,KEY_ATTENDANCE}, 
                    KEY_YEAR + "=" + year +
                    " AND "+ KEY_SECTION + "=" + section +
                    " AND "+ KEY_BRANCH + "=" + branch + 
                    " AND "+ KEY_SUBJECT + "=" + subject + 
                    " AND "+ KEY_DATE + "=" + date,
                    null, 
                    null, 
                    null, 
                    null);
} 

您的查询中似乎没有包含KEY_SECTION列,请重试

new String[] { KEY_ROLLNO,KEY_ATTENDANCE, KEY_SECTION }
在您的
query()
或干脆
null


似乎您还需要其他列,因为WHERE子句使用了这些列。

您是否尝试过删除测试设备上的应用程序,清理项目,重新编译和重新编译?您应该在创建数据库时使用常量——您可能只是输入了一个错误,而没有看到it@pouzzler如何删除我测试设备上的应用程序???@animuson你能帮我解决这个问题吗?我的意思是用你查询中的第二个参数代替()使用null并查看它是否有助于查询您的信息…我还有一个疑问…我们是否可以将表中的文本数据与字符串数据类型进行比较…在上面的代码部分中是字符串,表中的值是文本…从光标c的当前位置检索文本字段FLD_MYTEXT的值,如下所示:string txtFromDb=c.getString(c.getColumnIndexOrThrow(FLD_MYTEXT))
new String[] { KEY_ROLLNO,KEY_ATTENDANCE, KEY_SECTION }