當你在使用資料庫的時候,一定會有一個疑問,
我建立好的資料表格,應該要怎麼確認是否有建立呢?
其實不難,只需要利用adb就可以簡單作查詢了。
首先你必須先了解
以及如何使用ADB,
就可以利用Console來直接作查詢,
而不用自己還要寫一大串UI來作檢驗。
而不用自己還要寫一大串UI來作檢驗。
一開始先建立好DBHelper的資料庫類別
這個類別只是單純的處理一個查詢,以及插入方法。
public class MySQLDBHelper extends SQLiteOpenHelper {
private final static String DATABASE_NAME = "database";
private final static int DATABASE_VERSION = 1;
private final static String TABLE_NAME = "my_table";
private final static String FEILD_ID = "_id";
private final static String FEILD_TEXT = "item_text";
private String sql =
"CREATE TABLE IF NOT EXISTS "+TABLE_NAME+"("+
FEILD_ID+" INTEGER PRIMARY KEY AUTOINCREMENT,"+
FEILD_TEXT+" TEXT"+
")";
private SQLiteDatabase database;
public MySQLDBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
database = this.getWritableDatabase();
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
onCreate(db);
}
public Cursor query(){
return database.rawQuery("SELECT * FROM my_table", null);
}
public void insert(String sql){
ContentValues contentValues = new ContentValues();
contentValues.put(FEILD_TEXT, sql);
database.insert(TABLE_NAME, null, contentValues);
}
}
然後再用我們寫的Activity來存取這個類別,幫我們處理好資料庫。
我們利用插入的方法,插入了三個字串在資料表格內。
mySQLDBHelper.insert("give me pass");
mySQLDBHelper.insert("let me pass");
mySQLDBHelper.insert("give we all pass");
當我們按下Button的時候,就會把資料表格內的文字部份撈出來。
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Cursor cursor = mySQLDBHelper.query();
cursor.moveToFirst();
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(cursor.getString(1)+"\n");
while(cursor.moveToNext()){
stringBuilder.append(cursor.getString(1)+"\n");
};
Toast.makeText(getApplicationContext(), stringBuilder, Toast.LENGTH_SHORT).show();
cursor.close();
}
但是這樣很麻煩不是嗎?
如果每次都這樣寫,可是這些又不是功能的介面,
當資料量一大,那麼你就會被煩死。
因此我們要學會使用adb來查詢資料庫。
首先要切換進去adb, 只要你有開模擬器或者連到手機或平板電腦上,
就可以下
adb shell
然後你就會看到#字號這時候你要到哪邊找你的專案呢?
通常我們寫得程式都會安裝在
/data/data/
之下,然後找到你的package名稱,例如我的就是/data/data/com.givemepass.sqlitedbhelpdemo/
如果你有成功建立一個資料庫的話,你就會看到有一個資料夾叫做databases,
切換進去就可以看到你所建立的資料庫名稱了,
這時候要進入資料庫就下
sqlite3 你的資料庫名稱
然後你就會看到一串文字# sqlite3 database
SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
這樣就代表你成功進入資料庫了。如果你想查詢有哪些表格,就可以下
sqlite> .table
android_metadata my_table
那麼下面就會列出這個資料庫內,所有的資料表格。你也可以查詢有多少個資料庫在你的模擬器/機器上,你就可以下
sqlite> .database
seq name file
--- --------------- ----------------------------------------------------------
0 main /data/data/com.givemepass.sqlitedbhelpdemo/databases/datab
1 temp
這樣就可以看到下面有多少個資料庫了。接下來在這邊你可以作任何的資料庫查詢指令,
如果你學過SQL的語言,那麼應該就會很熟悉才對。
例如你想查詢某一個資料表格內的資料,就可以下
sqlite> select * from my_table;
1|give me pass
2|let me pass
3|give we all pass
很方便吧?
程式碼
http://uploadingit.com/file/lpuglladcj4sgrai/SQLiteDBHelperDemo.zip