Android 从SQLite获取行计数

Android 从SQLite获取行计数,android,sqlite,count,Android,Sqlite,Count,我试图从sqlite中获取android应用程序的行数,但由于某些原因,它总是返回零,即使我的数据库中有足够多的行 代码如下: DatabaseConnector database1 = new DatabaseConnector(getApplicationContext()); int TotalPosts = database1.getIds(); public int getIds() { String selectQuery = "SELECT

我试图从sqlite中获取android应用程序的行数,但由于某些原因,它总是返回零,即使我的数据库中有足够多的行

代码如下:

DatabaseConnector database1 = new DatabaseConnector(getApplicationContext());
int TotalPosts = database1.getIds();


 public int getIds()
       {
           String selectQuery = "SELECT COUNT(Pst_id) AS CountTotal FROM student_posts";           
           SQLiteDatabase database = this.dbOpenHelper.getReadableDatabase();
           Cursor c = database.rawQuery(selectQuery, null);     
           count = c.getColumnIndex("CountTotal");    
           return count;
       }
谢谢。

试试下面的方法:

public int getIds()
    {
    String selectQuery = "SELECT Pst_id FROM student_posts";           
    SQLiteDatabase database = this.dbOpenHelper.getReadableDatabase();
    Cursor c = database.rawQuery(selectQuery, null);
    c.moveToFirst();
    int total = c.getCount();
    c.close();

    return total;
}
尝试
c.getCount()


希望这有帮助。

您正在为count变量分配一个列索引。正如@brianestey所说,
getColumnIndex
返回列在返回数据集中的位置,而不是该列中的值。在您的情况下,由于您只查询单个值,即,
COUNT
,您将只得到一列,其索引将始终为0。非常感谢您的帮助:)只需再等待6分钟,即可接受此答案:(返回前不要忘了关闭光标!