从Android Sq lite检索数据后在Android上显示数据

时间:2018-11-10 08:49:35

标签: android sqlite android-sqlite

我正在按日期检索数据,但是在运行我的应用程序时,它什么也没显示。

这是我的代码:

SQL查询:

private Cursor getAllCurrentData()
    {
        String[] selectArg = new String[]{};

        return db.query(Db_Contract.Db_Fieds.TABLE_NAME,
                null ,
                Db_Contract.Db_Fieds.DATE+ "= 2018-11-10",
                selectArg,
                null,
                null,
                Db_Contract.Db_Fieds.TIMESTAMP);
    }

显示数据:

private  void totalMoney()
    {
        Cursor cursor = getAllCurrentData();
        double sum = 0.000d;
        double getMoney;
        while (cursor.moveToNext()) {
            getMoney = cursor.getDouble(cursor.getColumnIndex(Db_Contract.Db_Fieds.MONEY));

            sum += getMoney;
        }
        total.setText("Total money spent: " +sum);

    }

我是Android编程新手。我在哪里做错了?请纠正我

1 个答案:

答案 0 :(得分:0)

首先请确保您已连接到数据库,并且cursor返回的db.query()不是空/空。然后像这样遍历光标

 private void totalMoney()
    {
        openDatabase();

        Cursor cursor =  getAllCurrentData();
        cursor.moveToFirst();
        double getMoney = 0;
        while (!cursor.isAfterLast()) {

           getMoney = cursor.getDouble(cursor.getColumnIndex(Db_Contract.Db_Fieds.MONEY));

            sum += getMoney;

            cursor.moveToNext();
        }

        total.setText("Total money spent: " + sum );

        closeDatabase();

    }