开发者

Not able to retrieve items from the database

开发者 https://www.devze.com 2023-04-01 15:20 出处:网络
I am able to create and add items to the database but retrieval from the database is not happening Its showing as no columns found.. A part of the code is as shown ! please help

I am able to create and add items to the database but retrieval from the database is not happening Its showing as no columns found.. A part of the code is as shown ! please help

 db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
                KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                KEY_QUES + 开发者_StackOverflow社区" TEXT NOT NULL, " +
                KEY_A + " TEXT NOT NULL, " +
                KEY_B + " TEXT NOT NULL, " +
                KEY_C + " TEXT NOT NULL, " +
                KEY_D + " TEXT NOT NULL);"
        );

//adding entry

    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);
}

//Retriving an entry

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;
}       


try using the edited code for retrieve purpose.

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;
}       


it think you initialize column name

Cursor cur=ourDatabase.query(DATABASE_TABLE, null,null, null,  null, null, null);

to see what table contain exactly.If it contain diffrent column name then use them, May be you have done initialize

like KEY_A="key_a" like this then use 

that orignal value. make sure to use getReadbleDatabase while reading and getWritableDatabase() while inserting

0

精彩评论

暂无评论...
验证码 换一张
取 消