Android GreenDao清空資料庫的方法

2021-09-07 19:10:41 字數 1415 閱讀 3126

最近在做專案的時候,為了方便測試人員測試,在應用中加入正式庫和測試庫切換的功能。為了防止正式庫和測試庫切換帶來的資料衝突,切換的時候必須把當前的資料庫清空。**如下:

package com.example.admin.greendaotest;

import android.content.context;

import android.database.sqlite.sqlitedatabase;

import com.greendao.gen.daomaster;

import org.greenrobot.greendao.database.database;/**

* created by admin on 2017/9/19. */

public

class

dbmanager ;

}/**

* 獲取單例引用

** @param context

* @return

*/public

static

dbmanager getinstance(context context) }}

return

minstance;

}/**

* 獲取可讀資料庫

*/private

sqlitedatabase getreadabledatabase()

sqlitedatabase db =openhelper.getreadabledatabase();

return

db; }

/*** 獲取可寫資料庫

*/private

sqlitedatabase getwritabledatabase()

sqlitedatabase db =openhelper.getwritabledatabase();

return

db; }

public

void

delesql()

class

mysqliteopenhelper extends daomaster.openhelper

public

mysqliteopenhelper(context context, string name, sqlitedatabase.curso***ctory factory)

}}

必須要加上daomaster.createalltables(daomaster.getdatabase(),true),不然重新進行資料庫操作的時候(crud)會報找不到資料庫表的錯誤:caused by: android.database.sqlite.sqliteexception: no such table: 表名 ,至於為什麼不會重新建立資料庫表,我也不知道為啥,在這上面也浪費了一些時間,所以寫下這篇部落格。

清空資料庫的方法

近來發現資料庫過大,空間不足,因此打算將資料庫的資料進行全面的清理,但表非常多,一張一張的清空,實在麻煩,因此就想利用sql語句一次清空所有資料.找到了三種方法進行清空.使用的資料庫為ms sql server.1.搜尋出所有表名,構造為一條sql語句 declare trun name varch...

清空資料庫日誌

最好備份日誌,以後可通過日誌恢復資料。以下為日誌處理方法 一般不建議做第4,6兩步 第4步不安全,有可能損壞資料庫或丟失資料 第6步如果日誌達到上限,則以後的資料庫處理會失敗,在清理日誌後才能恢復.下面的所有庫名都指你要處理的資料庫的庫名 1.清空日誌 dump transaction 庫名 wit...

清空資料庫日誌

個人使用用途,sql資料很少,但其檔案超大時可使用以下方法處理 dump transaction 資料庫名 with no log dbcc shrinkdatabase 資料庫名 最好備份日誌,以後可通過日誌恢復資料。以下為日誌處理方法 一般不建議做第4,6兩步 第4步不安全,有可能損壞資料庫或丟...