主键是在android sqlite中插入为null

时间:2014-08-29 17:23:18

标签: android sql sqlite

我正在学习移动应用开发。虽然我正在使用sqlite数据库,但每个东西都很好,但主键列始终为空。

创建表的代码:

 public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL("CREATE TABLE "+ DATABASE_TABLE+"(" +
        KEY_ROWID+" INTERGER PRIMARY KEY," +
        KEY_NAME+" TEXT NOT NULL,"+
        KEY_HOTNESS+" TEXT NOT NULL);"
                );

    }

插入代码:

public String getData() {
    // TODO Auto-generated method stub
    String[] columns= {KEY_ROWID,KEY_NAME,KEY_HOTNESS};
    Cursor c=ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);

    String result="";

    int iRow=c.getColumnIndex(KEY_ROWID);
    int iName=c.getColumnIndex(KEY_NAME);
    int iHotness=c.getColumnIndex(KEY_HOTNESS);

    for(c.moveToFirst() ; !c.isAfterLast() ; c.moveToNext()){
        result= result + c.getString(iRow)+" "+c.getString(iName)+" "+c.getString(iHotness)+ "\n";
    }



    return result;
}

1 个答案:

答案 0 :(得分:2)

AUTOINCREMENT添加到主键定义中:

KEY_ROWID+" INTEGER PRIMARY KEY AUTOINCREMENT,"

(还要确保它是INTEGER而不是INTEGER:))