gpt4 book ai didi

java - 为什么 SQLite 给出 no such columns 错误?

转载 作者:行者123 更新时间:2023-12-01 19:09:39 25 4
gpt4 key购买 nike

日志猫:

android.database.sqlite.SQLiteException: no such column: kelime (code 1): , while compiling: SELECT * FROM Mylist WHERE Name = kelime

但我的专栏不是“kelime”,而是“Name”。

我的数据库

public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE IF NOT EXISTS \"Words\" (\n" +
"\t\"Id\"\tINTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,\n" +
"\t\"Name\"\tTEXT,\n" +
"\t\"Mean\"\tTEXT\n" +
");");
db.execSQL("CREATE TABLE IF NOT EXISTS \"MyList\" (\n" +
"\t\"Id\"\tINTEGER NOT NULL,\n" +
"\t\"Name\"\tTEXT,\n" +
"\t\"Mean\"\tTEXT,\n" +
"\tFOREIGN KEY(\"Id\") REFERENCES \"Words\"(\"Id\"),\n" +
"\tPRIMARY KEY(\"Id\")\n" +
");");


}
public Word FindWord(DbConnection data, String kelime, SQLiteDatabase db){

Word w= null;

Cursor c = db.rawQuery("SELECT * FROM Words WHERE Name = kelime",null);


while (c.moveToNext()){
w = new Word(c.getInt(c.getColumnIndex("Id"))
,c.getString(c.getColumnIndex("Name"))
,c.getString(c.getColumnIndex("Mean")));

}

return w;
}
public Boolean ifExists (DbConnection data, String kelime, SQLiteDatabase db) {

Word w= new Word();
Cursor c = db.rawQuery("SELECT * FROM Mylist WHERE Name = kelime",null);


while (c.moveToNext()){
w = new Word(c.getInt(c.getColumnIndex("Id"))
,c.getString(c.getColumnIndex("Name"))
,c.getString(c.getColumnIndex("Mean")));

}

if(w!=null) return true;
else return false;
}

最佳答案

使用

db.rawQuery("SELECT * FROM Words WHERE Name = '" + kelime + "'", null);
db.rawQuery("SELECT * FROM Mylist WHERE Name = '" + kelime + "'", null);

而不是

db.rawQuery("SELECT * FROM Words WHERE Name = kelime",null);
db.rawQuery("SELECT * FROM Mylist WHERE Name = kelime",null);

关于java - 为什么 SQLite 给出 no such columns 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59492893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com