我正在尝试使用SQLite获取数据库表中的所有条目。我运行了一个查询,将值存储在游标中,然后通过循环获取所有值。但是我可以访问除第一个条目之外的所有条目。这是我的代码:
mydb1=new Database_CustomTransaction(getApplicationContext());
Cursor c12 = mydb1.executeQuery("Select * from table1");
System.out.println(c12);
if(c12 == null)
{
TextView nodataView = new TextView(this);
nodataView.setId(20);
nodataView.setText("No Data here !");
nodataView.setTextSize(20);
}
else
{
if(flagValue == false)
{
c12.moveToFirst();
flagValue = true;
}
while(c12.moveToNext())
{
type=c12.getString(0);
amount = c12.getInt(1);
spentOn = c12.getString(2);
date = c12.getString(3);
listType.add(i,type);
listSpentOn.add(i,spentOn);
listAmount.add(i,amount);
listDate.add(i,date);
i++;
}
}
latesttrans2.setAdapter(new TestAdapter2(this, listType, listSpentOn,listAmount,listDate));
任何想法我做错了什么?
答案 0 :(得分:2)
c12.moveToFirst();
这将移至第一行。
while(c12.moveToNext())
在第一行之后移动到下一行。
我猜第一个电话应该被删除,但只有你知道你对flagValue
的意图。
答案 1 :(得分:0)
使用do而不是while while。我认为它正在跳过第一个条目并立即转移到下一个条目。