SQLite游标保持为null

时间:2013-07-19 14:24:11

标签: android sqlite

我试图在我的sQLite数据库中的列中找到某些值的平均值。此列具有一些null和一些非null值。我需要计算基于最后1,5或10个非空值的平均值。但是当我尝试通过我的查询获取数据时,我总是将游标变为null。 请帮助。 继承我的代码,用于获取里程的最后一个非空值。

 public void calculateAvgMileage(Prediction predictMileage) 
 {

     if(predictMileage.isChkLastMileage1()==true)
       {
String [] columns = new String[]{KEY_ROW_ID, KEY_KM, KEY_FUEL_QTY, KEY_FUEL_PRICE, KEY_TOTAL_COST, KEY_MILEAGE, KEY_DATE,KEY_TANK_FULL};
            predictionCursor = ourDatabase.rawQuery("SELECT * FROM fuel_table ORDER BY _id DESC LIMIT 1", null);

            if(predictionCursor!=null && predictionCursor.getColumnCount()>0)
            {
                predictionCursor.moveToLast();
                String predictionMileage= predictionCursor.getString(5);
                if(predictionMileage==null)
                {
                predictionCursor.moveToPrevious();
                }
                else
                {
                avgMileagePrediction.setpredictionMileage(Double.valueOf(predictionMileage));
                }
            }

1 个答案:

答案 0 :(得分:0)

在通过调用moveToFirst或类似函数强制光标实际读取数据之前,您无法读取列数。