我可以创建项目并将其添加到数据库,但是不会从数据库中检索 它显示没有找到列..代码的一部分如图所示!请帮忙
db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
KEY_QUES + " TEXT NOT NULL, " +
KEY_A + " TEXT NOT NULL, " +
KEY_B + " TEXT NOT NULL, " +
KEY_C + " TEXT NOT NULL, " +
KEY_D + " TEXT NOT NULL);"
);
//添加条目
public long createEntry(String ques, String a, String b, String c, String d) {
ContentValues cv = new ContentValues();
cv.put(KEY_QUES, ques);
cv.put(KEY_A, a);
cv.put(KEY_B, b);
cv.put(KEY_C, c);
cv.put(KEY_D, d);
return ourDatabase.insert(DATABASE_TABLE, null, cv);
}
//重播条目
public String getName(long l) throws SQLException{
String[] columns = new String[]{ KEY_ROWID, KEY_QUES, KEY_A, KEY_B, KEY_C,KEY_D};
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID + "=" + l, null, null, null, null);
if (c != null){
c.moveToFirst();
friends.question = c.getString(1);
friends.a = c.getString(2);
}
return null;
}
答案 0 :(得分:0)
它认为你初始化列名
Cursor cur=ourDatabase.query(DATABASE_TABLE, null,null, null, null, null, null);
查看哪个表包含正确的内容。如果它包含不同的列名,则使用它们, 可能你已经做了初始化
like KEY_A="key_a" like this then use
那个原始价值。 确保在读取时使用getReadbleDatabase并在插入时使用getWritableDatabase()
答案 1 :(得分:0)
尝试使用已编辑的代码进行检索。
public String getName(long l) throws SQLException{
String[] columns = new String[]{ KEY_ROWID, KEY_QUES, KEY_A, KEY_B, KEY_C,KEY_D};
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID + "=?", new String[] {Long.toString(l)}, null, null, null);
if (c != null){
c.moveToFirst();
friends.question = c.getString(1);
friends.a = c.getString(2);
}
return null;
}