コマンドラインからは .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 件のコメント:
コメントを投稿