2014-08-29 55 views
0

我正在学习移动应用程序开发。虽然我在使用sqlite数据库,但每一件事情都很好,但主键列始终为空。主键在android sqlite中插入为空

代码创建表:

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

'KEY_ROWID +“INTERGER PRIMARY KEY,”+'... ** INTERGER ** ?? – 2014-08-29 17:26:42

回答

2

添加AUTOINCREMENT主键的定义:用于插入

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

    } 

代码

KEY_ROWID+" INTEGER PRIMARY KEY AUTOINCREMENT," 

(也确保它的INTEGER,而不是INTERGER :))

+0

其实INTEGER拼写错误,谢谢@jeremy – akhil 2014-08-29 17:33:44