C SQLite 簡單封裝

2021-06-20 14:23:56 字數 4757 閱讀 2351

sqlitehelper類

1

using system;

2using system.configuration;

3using system.data;

4using system.data.sqlite;56

namespace myblog.data

7 29

1

///2

///初始化 sqlitehelper

3///

4///

資料庫連線字串

5public sqlitehelper(string connectionstring)

6

1213

///14

///sqlitehelper 析構函式

15///

16 ~sqlitehelper()

17

2021

#endregion

22#region 方法

23///

24///

開啟資料庫連線

25///

26private

void open()

27

32 }

33///

34///

關閉資料庫連線

35///

36private

void close()

37

44this._sqliteconn.close();

45 }

46 }

47///

48///

開始資料庫事務

49///

50public

void begintransaction()

51

55///

56///

開始資料庫事務

57///

58///

事務鎖級別

59public

void begintransaction(isolationlevel isolevel)

60

64///

65///

提交當前掛起的事務

66///

67public

void commit()

68

74 }

75///

76///

回滾當前掛起的事務

77///

78public

void rollback()

79

85 }

86///

87///

執行sql語句

88///

89///

sql語句

90///

返回受影響行數 [select 不會返回影響行]

91public

int execute(string command)

92

99this.close();

100return result;

101 }

102///

103///

執行sql語句

104///

105///

sql語句

106///

引數組107

///返回受影響行數 [select 不會返回影響行]

108public

int execute(string command, sqliteparameter parameter)

109

117this.close();

118return result;

119 }

120///

121///

執行sql語句

122///

123///

sql語句

124///

返回第一行第一列值

125public

object executescalar(string command)

126

133this.close();

134return result;

135 }

136///

137///

執行sql語句

138///

139///

sql語句

140///

引數組141

///返回受影響行數 [select 不會返回影響行]

142public

object executescalar(string command, sqliteparameter parmeter)

143

151this.close();

152return result;

153 }

154///

155///

執行sql語句

156///

157///

sql語句

158///

返回dataset資料集

159public dataset getds(string command)

160

163public dataset getds(string command, string tablename)

164

175else

176

179 }

180 }

181this.close();

182return ds;

183 }

184185

public dataset getds(string command, out sqlitecommand sqlitecmd)

186

189190

public dataset getds(string command, string tablename, out sqlitecommand sqlitecmd)

191

199 sqlitecmd = sqlcmd;

200this.close();

201return ds;

202 }

203204

public

int update(dataset ds, ref sqlitecommand sqlitecmd)

205

208209

public

int update(dataset ds, string tablename, ref sqlitecommand sqlitecmd)

210

221else

222

225 }

226 }

227this.close();

228return result;

229 }

230///

231///

釋放該例項的託管資源

232///

233public

virtual

void dispose()

234

238protected

void dispose(bool disposing)

239

246this._disposed = true;

247 }

248 }

249#endregion

250#region 屬性

251///

252///

獲取資料庫連線字串

253///

254public

string connectionstring

255

260 }

261///

262///

設定是否自動提交事務

263///

264public

bool autocommit

265

270set

271

274 }

275#endregion

276#region 事件

277void _sqliteconn_rollback(object sender, eventargs e)

278

281void _sqliteconn_commit(object sender, commiteventargs e)

282

285#endregion

286 }

287 }

C SQlite 操作小結

對擴平台的微型資料庫sqlite 進行使用了,主要注意一點是 資料庫若未建立則使用 sqliteconnection.createfile databasename 資料庫已經建立,並要進行訪問 sqliteconnection m conn new sqliteconnection datasou...

Linux Epoll簡單封裝

1 單獨起執行緒進行epoll時間的偵聽 2 接收到事件後的預處理 printerr file line handler on recv and send socket event err,null,0 m cache.set usedbuf t buf close event data.fd re...

IndexedDB 簡單封裝

indexeddb 瀏覽器資料庫,是乙個非關係型資料庫,資料形式使用的是json,indexeddb適合儲存大量資料,它的api是非同步呼叫的,當然他的api 也相對複雜。當然瀏覽器資料儲存 還有localstorage,cookies,web sql等 為什麼還再來乙個indexeddb。之前我在...