コマンドラインからは .tables で表示される。データベースのテーブル一覧を取得する方法。
Cursor c = db.rawQuery("SELECT * FROM sqlite_master WHERE type='table' ", null); Log.d("個数", String.valueOf(c.getCount()));
ソースコード全体
package com.test; import android.app.Activity; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.os.Bundle; import android.util.Log; import android.widget.TextView; public class Test01Activity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // ヘルパークラスのインスタンスを作成します。 MyDBHelper helper = new MyDBHelper(this); //書き込み可能でデータベースを開く //(ここでDBファイルがなかったら作成する(onCreate) SQLiteDatabase db = helper.getWritableDatabase(); Cursor c = db.rawQuery("SELECT * FROM sqlite_master WHERE type='table' ", null); Log.d("個数", String.valueOf(c.getCount())); boolean isEof = c.moveToFirst(); TextView textView1 = (TextView)findViewById(R.id.textView1); String text=""; while (isEof) { text += c.getString(1) + "\n"; isEof = c.moveToNext(); } textView1.setText(text); c.close(); db.close(); } public class MyDBHelper extends SQLiteOpenHelper { public MyDBHelper(Context context) { super(context, "database.db", null, 2); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //データベースのバージョンが変わる場合に呼び出される。 db.execSQL( "create table myDatabaseTable2("+ "name text not null,"+ "age text"+ ");" ); // Insert文のSQLを実行してレコードを挿入 db.execSQL("insert into myDatabaseTable2(name,age) values ('聖徳太子2', 10);"); db.execSQL("insert into myDatabaseTable2(name,age) values ('夏目漱石2', 20);"); } @Override //ここでデータベース作成(コンストラクタに渡されたDBファイル名が存在しない場合に呼ばれる) public void onCreate(SQLiteDatabase db) { // テームルを作成 db.execSQL( "create table myDatabaseTable("+ "name text not null,"+ "age text"+ ");" ); // Insert文のSQLを実行してレコードを挿入 db.execSQL("insert into myDatabaseTable(name,age) values ('聖徳太子', 10);"); db.execSQL("insert into myDatabaseTable(name,age) values ('夏目漱石', 20);"); } } }
その他の確認方法
0 件のコメント:
コメントを投稿