C 操作SQLite資料庫幫助類詳解

2022-09-26 04:09:10 字數 2543 閱讀 4442

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

sqlite是乙個非常小巧的資料庫,基本上具備關係型資料庫操作的大多數功能,sql語法也大同小異。下面是我整理的幫助類**:

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

///

/// 獲得連線物件

///

/// sqliteconnection

public static sqliteconnection getsqliteconnection()

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

///

/// 準備操作命令引數

///

/// sqlitecommand

/// sqliteconnection

/// sql命令文字

/// 引數陣列

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

3.查詢,返回dataset

///

/// 查詢,返回dataset

///

/// sql命令文字

/// 引數陣列

/// dataset

public static dataset executedataset(string cmdtext, dictionary data)

return ds;

}4.查詢,返回datatable

///

/// 查詢,返回datatable

///

/// sql命令文字

/// 引數陣列

/// datatable

public static datatable executedatatable(string cmdtext, dictionary data)

return dt;

}5.返回一行資料 datarow

///

/// 返回一行資料

///

/// sql命令文字

/// 引數陣列

/// datarow

public static datarow executedatarow(string cmdtext, dictionary data)

6.執行資料庫操作

/// 《程式設計客棧summary>

/// 執行資料庫操作

///

/// sql命令文字

/// 傳入的引數

/// 返回受影響的行數

public static int executenonquery(string cmdtext, dictionary data)

}7.返回sqldatareader物件

///

/// 返回sqldatareader物件

///

/// sql命令文字

/// 傳入的引數

/// sqlitedatareader

public static sqlitedatareader executereader(string cmdtext, dictionary data)

catch }

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

///

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

///

/// sql命令文字

/// 傳入的引數

/// object

public static object exe程式設計客棧cutescalar(string cmdtext, dictionary 程式設計客棧data)

}9.分頁查詢

///

/// 分頁查詢

///

/// 總記錄數

/// 頁牽引

/// 頁大小

/// sql命令文字

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

/// 命令引數

/// dataset

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

return ds;

}10.重新組織資料庫

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

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

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

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

public void resetdatabass()

}

SQLite資料庫操作類

呼叫方法 注意事項 1.identity last insert rowid 2.select cn count from select count cn from 3.limit startindex,itemcn 這兒的startindex是從0開始的,而row number 是從1開始的 4....

SQLite資料庫操作類

呼叫方法 注意事項 1.identity last insert rowid 2.select cn count from select count cn from 3.limit startindex,itemcn 這兒的startindex是從0開始的,而row number 是從1開始的 4....

C 操作SQLite資料庫

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