光标获取第一个值为this
但是将最后一个值返回为this。
从光标获取的代码
BillInfo getContact(String date) {
SQLiteDatabase db = this.getReadableDatabase();
光标查询
Cursor cursor = db.query(TABLE_ID, new String[] { KEY_ID,
KEY_NAME, KEY_PRICE, KEY_DATE }, KEY_DATE + "=?",
new String[] { String.valueOf(date) }, null, null, null, null);
BillInfo contact = null ;
数组帐单类型
BillInfo bill[]=null;
int i=0;
光标代码
if ( cursor.moveToFirst() ) {
bill=new BillInfo[cursor.getCount()];
do {
//Since both are in different classes
contact = new BillInfo(cursor.getString(0), cursor.getString(1), cursor.getString(2),cursor.getString(3));
bill[i]=contact;
}while(cursor.moveToNext());
}
return bill[i];
}
点击
加载值的代码 public void Load1(View v){
date1=date.getText().toString();
Doubleme d=new Doubleme(this);
BillInfo s;
Returning the value from get contact
s= d.getContact(date1);
info.append( s.toString());
}
答案 0 :(得分:0)
看起来,i的值是固定的:
int i=0;
但是在游标迭代循环内部,您每次都使用新的BillInfo引用覆盖bill [i]。难怪为什么这条线:
return bill[i];
获取最后一行而不是第一行。如果你只需要第一行,我建议摆脱while循环。