C 操作SQLite資料庫

2022-09-09 17:33:22 字數 2806 閱讀 2709

這篇文章主要介紹了c#操作sqlite資料庫幫助類,詳細分析了c#針對sqlite資料庫的連線、查詢、分頁等各種常見操作的實現與封裝技巧,需要的朋友可以參考下:

最近有wpf做客戶端,需要離線操作儲存資料,在專案中考慮使用sqlite嵌入式資料庫,在網上找了不少資料,最終整理出乙個公共的幫助類。

1.獲取 sqliteconnection 物件,傳入資料庫有位址即可。

/// /// 獲得連線物件

///

/// sqliteconnection

public staticsqliteconnection getsqliteconnection()

2.準備操作命令引數,構造sqlitecommand 物件:

/// /// 準備操作命令引數

///

/// sqlitecommand

/// sqliteconnection

/// sql命令文字

/// 引數陣列

private static void preparecommand(sqlitecommand cmd, sqliteconnection conn, string cmdtext, dictionarydata) }}

3.查詢,返回dataset

/// /// 查詢,返回dataset

///

/// sql命令文字

/// 引數陣列

/// dataset

public static dataset executedataset(string cmdtext, dictionarydata)

returnds;

}

4.查詢,返回datatable

/// /// 查詢,返回datatable

///

/// sql命令文字

/// 引數陣列

/// datatable

public static datatable executedatatable(string cmdtext, dictionarydata)

returndt;

}

5.返回一行資料 datarow

/// /// 返回一行資料

///

/// sql命令文字

/// 引數陣列

/// datarow

public static datarow executedatarow(string cmdtext, dictionarydata)

6.執行資料庫操作

/// /// 執行資料庫操作

///

/// sql命令文字

/// 傳入的引數

/// 返回受影響的行數

public static int executenonquery(string cmdtext, dictionarydata)

}

7.返回sqldatareader物件

/// /// 返回sqldatareader物件

///

/// sql命令文字

/// 傳入的引數

/// sqlitedatareader

public static sqlitedatareader executereader(string cmdtext, dictionarydata)

catch

}

8.返回結果集中的第一行第一列,忽略其他行或列

/// /// 返回結果集中的第一行第一列,忽略其他行或列

///

/// sql命令文字

/// 傳入的引數

/// object

public static object executescalar(string cmdtext, dictionarydata)

}

9.分頁查詢

/// /// 分頁查詢

///

/// 總記錄數

/// 頁牽引

/// 頁大小

/// sql命令文字

/// 查詢總記錄數的sql文字

/// 命令引數

/// dataset

public static dataset executepager(ref int recordcount, int pageindex, int pagesize, string cmdtext, string counttext, dictionarydata)

returnds;

}

10.重新組織資料庫

當你從sqlite資料庫中刪除資料時, 未用的磁碟空間將會加入乙個內部的「自由列表」中。

當你下次插入資料時,這部分空間可以重用。磁碟空間不會丟失, 但也不會返還給作業系統。

如果刪除了大量資料,而又想縮小資料庫檔案占用的空間,執行 vacuum 命令。 vacuum 將會從頭重新組織資料庫

你可以在你的程式中約定乙個時間間隔執行一次重新組織資料庫的操作,節約空間

public voidresetdatabass()

}

C 操作SQLite資料庫

在使用c 操作sqlite之前,需要獲得sqlite3.h,sqlite3.lib,sqlite3.dll,大家可以在 這裡 int sqlite3 open char path,sqlite3 db 這個函式開啟資料庫,第乙個引數為sqlite檔案的位址,第二個引數是sqlite3的指標的指標,也...

c 操作Sqlite資料庫

宣告變數 system.data.sqlite.sqlitecommand cmd new system.data.sqlite.sqlitecommand system.data.sqlite.sqliteconnection conn null string sql string value i...

C 操作SQLite資料庫

在使用c 操作sqlite之前,需要獲得sqlite3.h,sqlite3.lib,sqlite3.dll,大家可以在 這裡 int sqlite3 open char path,sqlite3 db 這個函式開啟資料庫,第乙個引數為sqlite檔案的位址,第二個引數是sqlite3的指標的指標,也...