开发者

Android: SQLite, small issue with inserting and query

I am developing my first application which contains an SQLite database, containing table ANIMAL which has the columns _id, animal_name, animal_bio.

The user is presented with animal names in a ListView; selecting an animal will bring him/her to a page where he/she can view the animals bio.

The problem I'm having is:

When I add the bio of each animal to the DB - no errors.

However, running the app cause开发者_C百科s the ListView (previously working) to display a blank screen.

My Insertion code:

public long populateDB(){       
    ContentValues initialValues = new ContentValues();
    long[] rowIds = new long[animalName.length];

    // Populate the animal table
    for(int i = 0; i < animalName.length; i++){
        initialValues.put(KEY_ANIMALNAME, animalName[i]);
        initialValues.put(KEY_BIOGRAPHY, bio[i]);
        rowIds[i] = qmDB.insert(ANIMAL_TABLE, null, initialValues);
    }
    return rowIds[0];
}

And the create database statement

private static final String DATABASE_CREATE = 
            "create table " + ANIMAL_TABLE +
            " (_id integer primary key autoincrement, " + 
            "animal_name text not null, " +
            "biography text not null);"; 

I cannot see anything wrong with this code, so if anyone has any suggestions, I'd be very grateful.

EDIT: Retrieving animals code

public Cursor retrieveAnnimals(){
    return qmDB.query(ANIMAL_TABLE, new String[] {
            KEY_ROWID,
            KEY_ANIMALNAME,
            },
            null,
            null,
            null,
            null,
            ORDER_BY_NAME);
}

Calling the create and insert from application, this takes place in the ListActivity, called ListAnimals:

dbm = new MyDBManager();
dbm.open();
dbm.deleteTable();
dbm.populateTable();
myCursor = dbm.retrieveAnimals();
0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜