1

我有一张包含此信息的表格:我创建表格。

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("Year") 它返回 5.//// 实际上返回 2013

我该怎么办?

请帮我。

4

1 回答 1

4

将这种代码更改cursor1.getColumnIndex("Year")为 this cursor1.getInteger(cursor1.getColumnIndex("Year"))。所以它会返回值

于 2013-10-28T13:24:05.253 回答