日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

winform mysql 工具类_C#工具类MySqlHelper,基于MySql.Data.MySqlClient封装

發布時間:2024/7/23 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 winform mysql 工具类_C#工具类MySqlHelper,基于MySql.Data.MySqlClient封装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 usingSystem;2 usingSystem.Collections.Generic;3 usingSystem.Linq;4 usingSystem.Text;5 usingSystem.Threading.Tasks;6 usingSystem.Data;7 usingMySql.Data.MySqlClient;8

9

10 namespaceFly.Util.DataBase11 {12 ///

13 ///MySql數據庫操作類14 ///

15 public static classMySqlHelper16 {17 ///

18 ///執行數據庫非查詢操作,返回受影響的行數19 ///

20 /// 數據庫連接字符串

21 /// 命令的類型

22 /// MySql存儲過程名稱或PL/SQL命令

23 /// 命令參數集合

24 /// 當前操作影響的數據行數

25 public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, paramsMySqlParameter[] cmdParms)26 {27 MySqlCommand cmd = newMySqlCommand();28 using (MySqlConnection conn = newMySqlConnection(connectionString))29 {30 PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);31 int val =cmd.ExecuteNonQuery();32 cmd.Parameters.Clear();33 returnval;34 }35 }36

37 ///

38 ///執行數據庫事務非查詢操作,返回受影響的行數39 ///

40 /// 數據庫事務對象

41 /// Command類型

42 /// MySql存儲過程名稱或PL/SQL命令

43 /// 命令參數集合

44 /// 當前事務操作影響的數據行數

45 public static int ExecuteNonQuery(MySqlTransaction trans, CommandType cmdType, string cmdText, paramsMySqlParameter[] cmdParms)46 {47 MySqlCommand cmd = newMySqlCommand();48 PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, cmdParms);49 int val =cmd.ExecuteNonQuery();50 cmd.Parameters.Clear();51 returnval;52 }53

54 ///

55 ///執行數據庫非查詢操作,返回受影響的行數56 ///

57 /// MySql數據庫連接對象

58 /// Command類型

59 /// MySql存儲過程名稱或PL/SQL命令

60 /// 命令參數集合

61 /// 當前操作影響的數據行數

62 public static int ExecuteNonQuery(MySqlConnection connection, CommandType cmdType, string cmdText, paramsMySqlParameter[] cmdParms)63 {64 if (connection == null)65 throw new ArgumentNullException("當前數據庫連接不存在");66 MySqlCommand cmd = newMySqlCommand();67 PrepareCommand(cmd, connection, null, cmdType, cmdText, cmdParms);68 int val =cmd.ExecuteNonQuery();69 cmd.Parameters.Clear();70 returnval;71 }72

73 ///

74 ///執行數據庫查詢操作,返回MySqlDataReader類型的內存結果集75 ///

76 /// 數據庫連接字符串

77 /// 命令的類型

78 /// MySql存儲過程名稱或PL/SQL命令

79 /// 命令參數集合

80 /// 當前查詢操作返回的MySqlDataReader類型的內存結果集

81 public static MySqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, paramsMySqlParameter[] cmdParms)82 {83 MySqlCommand cmd = newMySqlCommand();84 MySqlConnection conn = newMySqlConnection(connectionString);85 try

86 {87 PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);88 MySqlDataReader reader =cmd.ExecuteReader(CommandBehavior.CloseConnection);89 cmd.Parameters.Clear();90 returnreader;91 }92 catch

93 {94 cmd.Dispose();95 conn.Close();96 throw;97 }98 }99

100 ///

101 ///執行數據庫查詢操作,返回DataSet類型的結果集102 ///

103 /// 數據庫連接字符串

104 /// 命令的類型

105 /// MySql存儲過程名稱或PL/SQL命令

106 /// 命令參數集合

107 /// 當前查詢操作返回的DataSet類型的結果集

108 public static DataSet ExecuteDataSet(string connectionString, CommandType cmdType, string cmdText, paramsMySqlParameter[] cmdParms)109 {110 MySqlCommand cmd = newMySqlCommand();111 MySqlConnection conn = newMySqlConnection(connectionString);112 DataSet ds = null;113 try

114 {115 PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);116 MySqlDataAdapter adapter = newMySqlDataAdapter();117 adapter.SelectCommand =cmd;118 ds = newDataSet();119 adapter.Fill(ds);120 cmd.Parameters.Clear();121 }122 catch

123 {124 throw;125 }126 finally

127 {128 cmd.Dispose();129 conn.Close();130 conn.Dispose();131 }132

133 returnds;134 }135

136 ///

137 ///執行數據庫查詢操作,返回DataTable類型的結果集138 ///

139 /// 數據庫連接字符串

140 /// 命令的類型

141 /// MySql存儲過程名稱或PL/SQL命令

142 /// 命令參數集合

143 /// 當前查詢操作返回的DataTable類型的結果集

144 public static DataTable ExecuteDataTable(string connectionString, CommandType cmdType, string cmdText, paramsMySqlParameter[] cmdParms)145 {146 MySqlCommand cmd = newMySqlCommand();147 MySqlConnection conn = newMySqlConnection(connectionString);148 DataTable dt = null;149

150 try

151 {152 PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);153 MySqlDataAdapter adapter = newMySqlDataAdapter();154 adapter.SelectCommand =cmd;155 dt = newDataTable();156 adapter.Fill(dt);157 cmd.Parameters.Clear();158 }159 catch

160 {161 throw;162 }163 finally

164 {165 cmd.Dispose();166 conn.Close();167 conn.Dispose();168 }169

170 returndt;171 }172

173 ///

174 ///執行數據庫查詢操作,返回結果集中位于第一行第一列的Object類型的值175 ///

176 /// 數據庫連接字符串

177 /// 命令的類型

178 /// MySql存儲過程名稱或PL/SQL命令

179 /// 命令參數集合

180 /// 當前查詢操作返回的結果集中位于第一行第一列的Object類型的值

181 public static object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText, paramsMySqlParameter[] cmdParms)182 {183 MySqlCommand cmd = newMySqlCommand();184 MySqlConnection conn = newMySqlConnection(connectionString);185 object result = null;186 try

187 {188 PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);189 result =cmd.ExecuteScalar();190 cmd.Parameters.Clear();191 }192 catch

193 {194 throw;195 }196 finally

197 {198 cmd.Dispose();199 conn.Close();200 conn.Dispose();201 }202

203 returnresult;204 }205

206 ///

207 ///執行數據庫事務查詢操作,返回結果集中位于第一行第一列的Object類型的值208 ///

209 /// 一個已存在的數據庫事務對象

210 /// 命令類型

211 /// MySql存儲過程名稱或PL/SQL命令

212 /// 命令參數集合

213 /// 當前事務查詢操作返回的結果集中位于第一行第一列的Object類型的值

214 public static object ExecuteScalar(MySqlTransaction trans, CommandType cmdType, string cmdText, paramsMySqlParameter[] cmdParms)215 {216 if (trans == null)217 throw new ArgumentNullException("當前數據庫事務不存在");218 MySqlConnection conn =trans.Connection;219 if (conn == null)220 throw new ArgumentException("當前事務所在的數據庫連接不存在");221

222 MySqlCommand cmd = newMySqlCommand();223 object result = null;224

225 try

226 {227 PrepareCommand(cmd, conn, trans, cmdType, cmdText, cmdParms);228 result =cmd.ExecuteScalar();229 cmd.Parameters.Clear();230 }231 catch

232 {233 throw;234 }235 finally

236 {237 trans.Dispose();238 cmd.Dispose();239 conn.Close();240 conn.Dispose();241 }242

243 returnresult;244 }245

246 ///

247 ///執行數據庫查詢操作,返回結果集中位于第一行第一列的Object類型的值248 ///

249 /// 數據庫連接對象

250 /// Command類型

251 /// MySql存儲過程名稱或PL/SQL命令

252 /// 命令參數集合

253 /// 當前查詢操作返回的結果集中位于第一行第一列的Object類型的值

254 public static object ExecuteScalar(MySqlConnection conn, CommandType cmdType, string cmdText, paramsMySqlParameter[] cmdParms)255 {256 if (conn == null) throw new ArgumentException("當前數據庫連接不存在");257 MySqlCommand cmd = newMySqlCommand();258 object result = null;259

260 try

261 {262 PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);263 result =cmd.ExecuteScalar();264 cmd.Parameters.Clear();265 }266 catch

267 {268 throw;269 }270 finally

271 {272 cmd.Dispose();273 conn.Close();274 conn.Dispose();275 }276

277 returnresult;278 }279

280 ///

281 ///執行存儲過程282 ///

283 /// MySql數據庫連接對象

284 /// 存儲過程名

285 /// 存儲過程參數

286 /// SqlDataReader對象

287 public static MySqlDataReader RunStoredProcedure(MySqlConnection connection, stringstoredProcName, IDataParameter[] parameters)288 {289 MySqlDataReader returnReader = null;290 connection.Open();291 MySqlCommand command =BuildSqlCommand(connection, storedProcName, parameters);292 returnReader =command.ExecuteReader(CommandBehavior.CloseConnection);293 returnreturnReader;294 }295

296 ///

297 ///執行數據庫命令前的準備工作298 ///

299 /// Command對象

300 /// 數據庫連接對象

301 /// 事務對象

302 /// Command類型

303 /// MySql存儲過程名稱或PL/SQL命令

304 /// 命令參數集合

305 private static void PrepareCommand(MySqlCommand cmd, MySqlConnection conn, MySqlTransaction trans, CommandType cmdType, stringcmdText, MySqlParameter[] cmdParms)306 {307 if (conn.State !=ConnectionState.Open)308 conn.Open();309

310 cmd.Connection =conn;311 cmd.CommandText =cmdText;312

313 if (trans != null)314 cmd.Transaction =trans;315

316 cmd.CommandType =cmdType;317

318 if (cmdParms != null)319 {320 foreach (MySqlParameter parm incmdParms)321 cmd.Parameters.Add(parm);322 }323 }324

325 ///

326 ///構建SqlCommand對象327 ///

328 /// 數據庫連接

329 /// 存儲過程名

330 /// 存儲過程參數

331 /// SqlCommand

332 private static MySqlCommand BuildSqlCommand(MySqlConnection connection, stringstoredProcName, IDataParameter[] parameters)333 {334 MySqlCommand command = newMySqlCommand(storedProcName, connection);335 command.CommandType =CommandType.StoredProcedure;336 foreach (MySqlParameter parameter inparameters)337 {338 command.Parameters.Add(parameter);339 }340 returncommand;341 }342 }343 }

總結

以上是生活随笔為你收集整理的winform mysql 工具类_C#工具类MySqlHelper,基于MySql.Data.MySqlClient封装的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。