SQL语句应返回2行,但仅返回1行

时间:2019-07-12 15:15:26

标签: java android sqlite

Account表包含2行,当执行查询时,它仅返回一行。 在SQLite(在PC上查看SQL数据库的软件)中打开数据库时,它显示2条正确的行。

HashMap<String, Integer> returnAccount(Context context)
{
    HashMap<String,Integer> account = new HashMap<String, Integer>();
    try
    {
        // Query in question
        String statement = "SELECT * FROM `Account`;";

        c = mydatabase.rawQuery(statement,null);
        if(c.moveToFirst())
        {
            do {
                Log.e("Count", String.valueOf(c.getCount()));
            }while (c.moveToNext());
        }
}

我尝试删除整个表并重新检查了所有查询,但没有任何帮助。 我期望所有(2)行。 2019-07-12 18:06:06.780 5663-5663 / com.prasad.budgetmanager E / Count:1 这是记录的数据。

整个代码位于https://github.com/prasad610/BugetManager/blob/master/app/src/main/java/com/prasad/budgetmanager/ExtraFunctions.java

Actual database content

1 个答案:

答案 0 :(得分:1)

删除此行。 //Log.e(“移至下一个”,String.valueOf(c.moveToNext()));

c.moveToNext()已将光标移动到Next值。因此while循环将返回false,它将不会执行下一个值。