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封装相关推荐
- c# mysql登录界面_C#窗体控件与MySQL实现登录功能
C#窗体控件与MySQL实现登录功能 1.windows窗体 控件 1 label1 2 label2 3 textBox1 4 textBox2 5 button1 6 button2 ...
- mysql分布式数据库实践论文_新浪微博基于MySQL的分布式数据库实践
提起微博,相信大家都是很了解的.但是有谁知道微博的数据库架构是怎样的呢?在今天举行的2011数据库技术大会上,新浪首席DBA杨海潮为我们详细解读了新浪微博的数据库架构--基于MySQL的分布式数据库实 ...
- 基于mysql和php的分布式事务处理1,基于MySQL和PHP的分布式事务处理
PHP(超级文本预处理语言)是一种基于服务器端.执行效率高且易于开发的HTML内嵌式语言,是用户生成动态网页的工具之一[1].MySQL是全球最受欢迎的小型开放源码的关系型数据库管理系统,其体积小.速 ...
- mysql 常用小工具包_mssql+mysql小工具(无需环境依赖)-mysql数据库批量实体CS类导出工具下载v3.0免费版-西西软件下载...
mysql数据库批量实体CS类导出工具是一个功能简单的数据库小工具,可以选中数据表执行查询,以及自定义sql语句,查询或者执行增删改,可以查看目标服务器对应数据库以及表和字段信息,不需要单独安装mys ...
- c mysql实体类生成工具_【干货分享】C# 实体类生成工具
前言: 项目实战中不论是业务编码还是通用编码,总会归纳出一些通用的工具类.放入项目中一劳永逸,让兄弟姐妹们避免编写重复代码.所以利用了工作之余的时间,将这些散落在多个项目中精致优雅的工具类,归纳起来形 ...
- c mysql 工具类_Jave工具——servlet+jsp编程中mysql数据库连接及操作通用工具类
该工具类是在JavaWeb中连接mysql所用到的通用工具类 该类用于Java+Servlet的编程中,方便数据库的操作,连接,获取其列表值.下面是这个数据库操作类的通用方法,基本上能够用于类里面只含 ...
- mysql的数据层基类_C# 基于MySQL的数据层基类(MySQLHelper)
using System; using System.Data; using MySql.Data; using MySql.Data.MySqlClient; namespace DBUtility ...
- JAVA——Java操作MySQL数据库的简单工具类[CLASS:DatabaseUtil]
预备知识 Java连接MySQL数据库 源代码 package club.zstuca.util;import java.sql.Connection; import java.sql.DriverM ...
- 关于数据仓库的架构及3大类组件工具选型
关于数据仓库的概念.原理.建设方法论,网上已经有很多内容了,也有很多的经典书籍,本文更想聊聊企业数据仓库项目上的架构和组件工具问题. 先来谈谈架构. 企业数据仓库架构 关于数据仓库,有一种简单粗暴的说 ...
最新文章
- yii2 windows 安装
- 推荐系统笔记:基于矩阵分解(总结篇)
- BERT:代码解读、实体关系抽取实战
- Effective Java之使类和成员的可访问性最小化(十三)
- Spark内存管理(1)—— 静态内存管理
- 什么样的征信才算是好的?
- python中convert函数用法_Python Pandas DataFrame.tz_convert用法及代码示例
- python Scrapy爬取天气预报,零基础的你也可以快速上手
- 封装 电流密度 重布线_具有周边硅通孔的晶圆级芯片封装有限元分析
- Maven项目代码中定位resources文件夹下的文件目录,解决文件不存在的问题
- 霍夫变换检测直线的公式推导以及基于opencv的源代码分析并实例实现
- 一文看完“阿里云自动化运维沙龙 · 上海专场”整场干货
- 【Grasshopper基础1】怎样制作一个Grasshopper电池 / 二次开发基础
- 【windows】Windows电脑怎么卸载服务/删除服务?
- 天气类App原型制作分享-ColorfulClouds
- 软件构造-线程安全性
- linux硬盘序列号在哪看,linux下怎样查看硬盘型号和硬盘序列号
- 中国大学MOOC-陈越、何钦铭-数据结构-习题解答-02 线性结构
- 使用原生js写一个简单的注册登录页面
- 阿里云大数据ACA总结
热门文章
- 操作系统学习笔记-2.1.5线程概念和多线程模型
- java-多线程知识
- 第一章 计算机网络 4 性能指标 [计算机网络笔记]
- [数据库]数据库三级加锁协议深入理解
- Leetcode--994. 腐烂的橘子(java)
- java实现数组排序代码_Java使用选择排序法对数组排序实现代码
- 锁屏界面显示某些设置已隐藏_iOS 14 隐藏功能,只要轻点手机背面就能截屏
- linux 文件 字符集设置,Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解...
- php显示动态通告信息方式,Joomla PHP通知,警告和错误指南
- 路径中有中文怎么解决_时序路径分析