【发布时间】:2019-12-27 04:34:32
【问题描述】:
Logcat:
android.database.sqlite.SQLiteException:没有这样的列:kelime(代码 1): , 编译时: SELECT * FROM Mylist WHERE Name = kelime
但我的专栏不是“kelime”,而是“姓名”。
我的数据库
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;
}
【问题讨论】:
-
kelime这是一个TEXT,应该是'kelime'