over 2 years ago

在上一篇文章想必大家都建立好了一個資料庫(檔案型),那麼接下來就是重頭戲了,如何新增、修改、刪除等動作呢?

新增

public void insterInfo(SQLiteDatabase db, String name, String phone) {

        ContentValues contentValues = new ContentValues();
        contentValues.put(NAME, name);
        contentValues.put(PHONE, phone);

        db.insert(INFO_TABLE, null, contentValues);
}

在第一章節我們建立了INFO TABLE,內部欄位為RowId, Name, Phone,但因RowId每次自動累加,因此不需在新增一次。

新增也就如此簡單,接下來我們還探討修改動作。

修改

public void updateInfo(SQLiteDatabase db, String rowId, String name, String phone) {

        ContentValues contentValues = new ContentValues();
        contentValues.put(NAME, name);
        contentValues.put(PHONE, phone);

                //問號對應到後面陣列的資料

        db.update(INFO_TABLE, contentValues, ROW_ID + "=?", new String[] {rowId});
}

修改部分與新增大同小異,唯一不同的就是多了個RowId,這個欄位是我們主要索引值,

當RowId = 1時,那麼我們將會把新的資料塞進去第一筆資料當中,以此類推。

當然索引值也可以是其他的物件,像是我可能今天想以Name當做主索引,也沒問題,但這樣其實會造成許多不便。

我想眼尖的人會看到,我們RowId不是宣告正整數嗎? 怎麼到這邊我使用String呢?

原因是SQLite只有使用SQLite才能控管,然而SQL語法通常都是一行行的字串。

刪除

public void removeInfo(SQLiteDatabase db, String rowId) {
        db.delete(INFO_TABLE, ROW_ID + "=?", new String[]{rowId});
}

在這邊大家可以看到RowId不斷的被使用,因此我建議索引值不要去修改,讓SQLite自動去控制就好。

好了,今天就到這邊了,關於取得資料,我想與大家分享比較多的方法,所以我放在最後了!

希望我分享得大家能夠有所想法與應用。

← [Android] 手把手的教你使用 SQLite (1) - 建立資料表 [Android] 手把手的教你使用 SQLite (3) - 取得資料 →
 
comments powered by Disqus