0
蔭試圖找到一列中的平均某些值在我的SQLite數據庫。此列有一些空值和一些非空值。我需要根據最後1個,5個或10個非空值計算平均值。但是,當我嘗試通過我的查詢獲取數據時,我總是將光標作爲空值。 請幫忙。 繼承人我的代碼獲取里程的最後一個非空值。SQLite的光標停留空
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));
}
}
嗯,我也做了同樣的事情在其他功能上和他們的工作。 HOever在這裏我的問題是遊標沒有從查詢本身獲取值。下一步是永遠不會到達的。 – user2574903
你不明白我寫的是什麼,是嗎?在getColumnCount檢查前插入一個對moveToFirst的調用。 –
沒有!!仍然沒有工作。我在這裏要做的是從我的數據庫中獲取最後的里程數,並找出旅行某些公里所需的燃料數量。如在由calulating fuelQty =公里/里程(從數據庫獲得),但我正在「無窮大」作爲結果爲燃料數量。 – user2574903