2016-09-12 7 views
-4

私はapi23を使用しています...次のデータベースのレコード数をアンドロイドで取得するにはどうすればよいですか?

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);"); 

をこのようなデータベースを作成しました。コードを提案してください。

+2

[行をカウントするには、AndroidでSQLiteのクエリ](http://stackoverflow.com/questions/5202269/sqlite-query-in-android-to-count-rows) –

答えて

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;を使用

EDIT

。レコードの総数を得るためにこれらの行を使用してください。これらの2行だけを使用してください。

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

その上映「の可能性のある重複はできません解決方法getWritabaleDatabase() " –

+0

okkk .. show me ..このコードはどこで使用していますか?任意の内部クラスで使用すると、 'this'は内部クラスを表します。より良い解決策は、この全メソッドをDatabaseHandlerクラスに置き、あなたのactivity()から呼び出します。 – user392117

+0

このコードをアクティビティで使用する場合、 'this.getWritableDatabase();を' new your_databasehelper_class.getWritableDatabase(); 'に置き換えてください。 – user392117

関連する問題