2013-10-28 104 views
0

我用這個信息表: 我創建表。爲什麼getColumnIndex在sqlite中返回android的列號?

db.execSQL("CREATE TABLE IF NOT EXISTS income (id_income INTEGER 
PRIMARY KEY AUTOINCREMENT, id_category INT(20), id_account INT(20), 
Year INT(5), month INT(5), day INT(5) ,pay DOUBLE(20));"); 

然後我在這個表中插入一行:

db.execSQL("INSERT INTO 
    income(id_category,id_account,Year,month,day,pay) VALUES 
    (1,1,2013,1,1,678);"); 

然後我選擇*從我的表,

String selectQuery = "SELECT * FROM income ";  
Cursor cursor = db.rawQuery(selectQuery, null);   
cursor.moveToFirst(); 

int count = cursor.getCount(); 
if(count>0){ 
    for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { 
     int temp_acc1; 
     int temp_cat; 
     temp_acc1=(cursor1.getColumnIndex("id_account")); 
     temp_cat=(cursor1.getColumnIndex("id_category")); 
    } 
} 

但是,當我登錄temp_acc1或temp_cat,它返回的數柱。 例如temp_acc1返回3 //實際上返回1 或temp_cat返回2 //實際上返回1 或如果我使用temp_year = cursor1.getColumnIndex( 「年」)則返回5.////實際上返回2013

我該怎麼辦?

請幫幫我。

回答

3

將此類代碼cursor1.getColumnIndex("Year")更改爲此cursor1.getInteger(cursor1.getColumnIndex("Year"))。所以它會返回值

+0

這是爲我工作。感謝。 –

+0

只需使用:cursor1.getInt(cursor1.getColumnIndex(「Year」)) –

相關問題