【问题标题】:How to get the count of the records for the following database in android?如何在android中获取以下数据库的记录数?
【发布时间】:2016-09-12 09:36:49
【问题描述】:

我是这样创建数据库的...

SQLiteDatabase db;
db = openOrCreateDatabase("StudentDB", Context.MODE_PRIVATE, null);
        db.execSQL("CREATE TABLE IF NOT EXISTS student(idno VARCHAR,name VARCHAR,class VARCHAR,year VARCHAR,gender VARCHAR);");

我正在使用 api23。请建议代码。

【问题讨论】:

标签: android


【解决方案1】:
public int getDBcountField () {
        // select query
        SQLiteDatabase db = this.getWritableDatabase();

        String sql = "SELECT * FROM student";
        int recordCount = db.rawQuery(sql, null).getCount();
        db.close();
        return recordCount;
}

它返回您计算表中的总记录数。

编辑

您已经在代码中使用了SQLiteDatabase db;。因此,使用这些行来获取记录总数。只使用这 2 行。

String sql = "SELECT * FROM student";
int recordCount = db.rawQuery(sql, null).getCount();

【讨论】:

  • 它显示“无法解析方法getWritabaleDatabase()”
  • okkk.. 告诉我.. 你在哪里使用这个代码。如果您在任何内部类中使用,那么this 将代表内部类。更好的解决方案是将整个方法放在您的 DatabaseHandler 类中并从您的 activity() 中调用。
  • 如果您在活动中使用此代码,则只需将 this.getWritableDatabase(); 替换为 new your_databasehelper_class.getWritableDatabase();
  • 我创建了这样的数据库 db=openOrCreateDatabase("StudentDB", Context.MODE_PRIVATE, null); db.execSQL("如果不存在则创建表 student(idno VARCHAR,name VARCHAR,class VARCHAR,year VARCHAR,gender VARCHAR);");插入后点击我调用了你给的方法
  • 查看我的编辑。 this.getWritableDatabase(); 用于 SQLiteDatabase 的实例/对象,但您已经使用 db 作为 SQLiteDatabase 的对象。所以现在只写这些行它会返回总数。记住 db 不应为空;
猜你喜欢
  • 1970-01-01
  • 2011-02-11
  • 1970-01-01
  • 1970-01-01
  • 2019-09-26
  • 2011-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多