无法使用android中的游标获取SQLite数据库中的第一个条目

时间:2015-03-24 08:08:51

标签: android database sqlite cursor

我正在尝试使用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)); 

任何想法我做错了什么?

2 个答案:

答案 0 :(得分:2)

c12.moveToFirst();

这将移至第一行。

while(c12.moveToNext())

在第一行之后移动到下一行

我猜第一个电话应该被删除,但只有你知道你对flagValue的意图。

答案 1 :(得分:0)

使用do而不是while while。我认为它正在跳过第一个条目并立即转移到下一个条目。