无法从sql表列中获取最大值

时间:2013-10-15 12:32:38

标签: android sqlite

          public Cursor selectRecords() {
          Cursor mCursor = database.query("prescritions" ,new String []{"MAX(pres_no)"},     null,    null, null, null,null);   


       if (mCursor != null) {  
        mCursor.moveToFirst();  


     }  
     return mCursor; // iterate to get each value.
}

我创建了上面的查询以从pres_no列读取最大值驻留在处方表中。但是我得到以下错误

  10-15 12:26:41.719: E/AndroidRuntime(629): java.lang.IllegalStateException: Couldn't       read row 0, col -1 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.

1 个答案:

答案 0 :(得分:0)

如果您不知道列的名称,则

getColumnIndex无效。 (当您将函数应用于列时,结果列名称不是表列名称。)

在此查询中,您想要的列是第一列,因此您可以放弃getColumnIndex调用,只需直接使用列索引(0):

cursor.getInteger(0)