顯示具有 sqlite 標籤的文章。 顯示所有文章
顯示具有 sqlite 標籤的文章。 顯示所有文章

2014年5月10日 星期六

Sqlite在多執行緒

可參考
http://stackoverflow.com/questions/5786206/to-to-implement-a-sqlite-manager-for-thread-safe-read-write-access

2012年4月16日 星期一

在Android 使用Sqlite注意事項

近來使用Sqlite時一直遇到很多挫折,所以將這些問題紀錄下來,防止下次出現相同錯誤。
  • 在Fragment中如果要傳入this(getActivity())這個參數時,一定要在onActivityCreated之後,不然一定出現 NullPointerException,這個問題很簡單卻困擾了我一天。
  • 如果在這個Activity中有使用到cursor,可以在最上層定義Cursor curosr=null,然後在Activity進入onPause() 時定義關閉,例如: if(cursor!=null){cursor.close();},然後在關閉db,例如: if(db!=null){db.close();}

2012年4月10日 星期二

檢查sqlite中某個資料表是否存在


有兩種方法,
第一種方法是:不需要知道表是否存在,在創建表的時候加上if not exists 例:create table if not exists myTable(...) ,這樣做的好處是,不需要知道表是否存在,只要每次都進行創建即可。因為裡面有判斷,如果表存在的時候,再執行這句不會發生重複創建表的情況。
第二種方法是:直接執行某個SQL語句,用try...catch來捕獲數據庫操作的異常。當異常表示數據庫表不存在的時候,再進行處理。例:
try{
Cursor c = getWritableDatabase().query("select * from myTable",null );
catch(Exception e) // 或者是 SQLiteException .
{//添加處理代碼,例如:創建表。
}
第二種的方法不如第一種好,原因是:第二種寫起來比較麻煩,還有,如果有其它異常的時候,需要對異常來進行判別,並處理。
PS:
上面的E文中有一種方法是判斷query的返回值 ,那個別想了,我在測試的時候,如果表被刪除了,一到那裡就崩潰,只能通過try...catch的方法。

星期、月份英文縮寫

中文 英文 3字母 縮寫 3字母 縮寫 2字母 縮寫 2字母 縮寫 1字母 縮寫 1字母 縮寫 其他 縮寫 星期日 Sunday SUN Sun SU Su S S 星期一 Monday MON Mon MO Mo M M 星期二 Tuesday TUE Tue TU ...