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封装相关推荐

  1. c# mysql登录界面_C#窗体控件与MySQL实现登录功能

    C#窗体控件与MySQL实现登录功能 1.windows窗体 控件 1  label1 2  label2 3  textBox1 4  textBox2 5  button1 6  button2 ...

  2. mysql分布式数据库实践论文_新浪微博基于MySQL的分布式数据库实践

    提起微博,相信大家都是很了解的.但是有谁知道微博的数据库架构是怎样的呢?在今天举行的2011数据库技术大会上,新浪首席DBA杨海潮为我们详细解读了新浪微博的数据库架构--基于MySQL的分布式数据库实 ...

  3. 基于mysql和php的分布式事务处理1,基于MySQL和PHP的分布式事务处理

    PHP(超级文本预处理语言)是一种基于服务器端.执行效率高且易于开发的HTML内嵌式语言,是用户生成动态网页的工具之一[1].MySQL是全球最受欢迎的小型开放源码的关系型数据库管理系统,其体积小.速 ...

  4. mysql 常用小工具包_mssql+mysql小工具(无需环境依赖)-mysql数据库批量实体CS类导出工具下载v3.0免费版-西西软件下载...

    mysql数据库批量实体CS类导出工具是一个功能简单的数据库小工具,可以选中数据表执行查询,以及自定义sql语句,查询或者执行增删改,可以查看目标服务器对应数据库以及表和字段信息,不需要单独安装mys ...

  5. c mysql实体类生成工具_【干货分享】C# 实体类生成工具

    前言: 项目实战中不论是业务编码还是通用编码,总会归纳出一些通用的工具类.放入项目中一劳永逸,让兄弟姐妹们避免编写重复代码.所以利用了工作之余的时间,将这些散落在多个项目中精致优雅的工具类,归纳起来形 ...

  6. c mysql 工具类_Jave工具——servlet+jsp编程中mysql数据库连接及操作通用工具类

    该工具类是在JavaWeb中连接mysql所用到的通用工具类 该类用于Java+Servlet的编程中,方便数据库的操作,连接,获取其列表值.下面是这个数据库操作类的通用方法,基本上能够用于类里面只含 ...

  7. mysql的数据层基类_C# 基于MySQL的数据层基类(MySQLHelper)

    using System; using System.Data; using MySql.Data; using MySql.Data.MySqlClient; namespace DBUtility ...

  8. JAVA——Java操作MySQL数据库的简单工具类[CLASS:DatabaseUtil]

    预备知识 Java连接MySQL数据库 源代码 package club.zstuca.util;import java.sql.Connection; import java.sql.DriverM ...

  9. 关于数据仓库的架构及3大类组件工具选型

    关于数据仓库的概念.原理.建设方法论,网上已经有很多内容了,也有很多的经典书籍,本文更想聊聊企业数据仓库项目上的架构和组件工具问题. 先来谈谈架构. 企业数据仓库架构 关于数据仓库,有一种简单粗暴的说 ...

最新文章

  1. yii2 windows 安装
  2. 推荐系统笔记:基于矩阵分解(总结篇)
  3. BERT:代码解读、实体关系抽取实战
  4. Effective Java之使类和成员的可访问性最小化(十三)
  5. Spark内存管理(1)—— 静态内存管理
  6. 什么样的征信才算是好的?
  7. python中convert函数用法_Python Pandas DataFrame.tz_convert用法及代码示例
  8. python Scrapy爬取天气预报,零基础的你也可以快速上手
  9. 封装 电流密度 重布线_具有周边硅通孔的晶圆级芯片封装有限元分析
  10. Maven项目代码中定位resources文件夹下的文件目录,解决文件不存在的问题
  11. 霍夫变换检测直线的公式推导以及基于opencv的源代码分析并实例实现
  12. 一文看完“阿里云自动化运维沙龙 · 上海专场”整场干货
  13. 【Grasshopper基础1】怎样制作一个Grasshopper电池 / 二次开发基础
  14. 【windows】Windows电脑怎么卸载服务/删除服务?
  15. 天气类App原型制作分享-ColorfulClouds
  16. 软件构造-线程安全性
  17. linux硬盘序列号在哪看,linux下怎样查看硬盘型号和硬盘序列号
  18. 中国大学MOOC-陈越、何钦铭-数据结构-习题解答-02 线性结构
  19. 使用原生js写一个简单的注册登录页面
  20. 阿里云大数据ACA总结

热门文章

  1. 操作系统学习笔记-2.1.5线程概念和多线程模型
  2. java-多线程知识
  3. 第一章 计算机网络 4 性能指标 [计算机网络笔记]
  4. [数据库]数据库三级加锁协议深入理解
  5. Leetcode--994. 腐烂的橘子(java)
  6. java实现数组排序代码_Java使用选择排序法对数组排序实现代码
  7. 锁屏界面显示某些设置已隐藏_iOS 14 隐藏功能,只要轻点手机背面就能截屏
  8. linux 文件 字符集设置,Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解...
  9. php显示动态通告信息方式,Joomla PHP通知,警告和错误指南
  10. 路径中有中文怎么解决_时序路径分析