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 }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器搭建php mysql5_Windows下php5+apache+mysql5 手工搭建笔记

Windows下php5apachemysql5 手工搭建笔记更新时间:2011年02月15日 01:35:09 作者:php运行环境对于站长们或者初学者来说可以直接用一键包的方式或者直接从服务提供商处得到支持,不必自己手工按部就班的搭建,所以这篇文章是写给我…

java连接mysql封装代码_JDBC连接数据库方法的封装,以及查询数据方法的封装

(在上一篇文章中,我们详细的介绍了连接数据库的方法,以及eclipse操作数据库信息的相关方法,在这里我们将主要讲封装。)主要内容:一般的连接数据库测试把连接数据库的方法封装成一个类和测试一个简单的插入表实例查询数据实例封装查…

mysql连接字符串加密配置文件_Asp.net2.0如何加密Web.config配置文件数据库连接字符串...

在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:①添加密钥执行:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp其中"hnlaw"为密钥名称②添加web.config节点在web.config的之…

Java编程和C语言哪个更好?

学编程用哪一个编程语言好?很多人刚开始接触编程的时候都不知道自己该学哪个好,软件开发编程语言多达600余种,每种都有各自的特点和应用领域。目前,热门编程语言无外乎Java、C、C了,实际上,Java确实是从C语言和C语言继…

bugzilla dbd-mysql_别人写的关于在Windows下安装BugZilla的说明,不错,值得借鉴

Bugzilla Windows安装红宝书一直寻找合适的Bug Tracking System,网上找了很久,commercial的太贵,还有licence限制,远远超出我等贫民的承受范围。也曾考虑干脆自己写一个算了,但终究未能如愿。对Bugzilla倒是早有所闻&a…

Java程序员常犯的几类错误

1.忽视异常 相信很多小伙伴在编程的过程中经常对异常置之不理。针对初学者和有经验的 Java 程序员,最佳实践仍是处理它们。异常抛出通常是带有目的性的,因此在大多数情况下需要记录引起异常的事件。不要小看这件事,如果必要的话,…

jdk1.8 mysql_Centos 7配置JDK1.8+MySQL5.7+Tomcat 8 开发环境

工具腾讯云服务器(可通过公网ip访问)Xshell 6Xftp 61、Xshell 6 连接云服务器打开xshell很简单,直接上图配置好之后连接云服务器,之后就可以对云服务器进行操作了。2、配置JDK 1.8a、下载JDK1.8如果直接在云服务器的命令行中使用wget http://download.or…

做为一名java高级程序员,需要了解哪些岗位?

一、Java高级程序员 要想成为JAVA(高级)程序员也称Java高级工程师,肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA高级程序员,您要对JAVA做比较深入的研究。您应该多研究一下JDBC、IO包…

mysql 复制延迟诊断_新特性解读 | MySQL 8 复制延迟观测新方式,更全面更精准

转载自公众号:玩转MySQL,作者:洪斌一直以来 MySQL 复制延迟观测是不完善的,既无法观测到真实的主从延迟,也无法支持复杂的复制拓扑环境,常用的 second_behind_master 指标更多是判断是否存在回放延迟&#…

Java 程序员必读的五本书籍

如果你是一名程序员,想知道如何提高你对Java的了解或者成为更好的Java开发人员。在本文中,我将分享一些最好的Java书籍。这些书经受住了时间的考验,随着岁月的流逝变得越来越重要。不管你是学生还是职业者,你总有很多东西要学&…

使用sqlserver连接mysql服务_Sqlserver创建连接MySql的链接服务器

第一步:在MySql服务器上安装与系统对应的 MySql-Connector-ODBC安装过程中可能会报 缺失 msvcr100.dll的错误,这需要你根据系统到网上下载对应的这个dll文件。(当初遇到这个问题的时候,在网上试了很多的这种文件 最后才找到一个合适自己的)第…

什么人适合学习Java编程?编程好学吗?

什么人适合学习Java编程?编程好学吗?首先自己做个自我评估,包括能力、兴趣、逻辑思维、性格特点等等,结合这些特质判断自己是否适合学习Java。评估自己时,要尽量客观,追随内心,切勿轻易抬高或者…

not support mysql_MYSQL(解决方法):Client does not support authentication

mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法shell> mysqlClient does not support authentication protocol requestedby server; consider upgrading MySQL client官方的说法是MySQL 4.1 and up uses an authentication proto…

mysql分布式如何实现原理_分布式通讯协议实现原理

分为两个阶段:投票表决阶段和提交阶段。事务参与者完成系统相关业务成功后,通知协调者状态,当所有的事务参与者业务状态都成功后,协调者才发出提交指令,参与者提交或者取消事务一协调者 二事务的参与者(一般有多个事务…

大神程序员都懂英文翻译,而你却因英语不行遭拒?

程序员中很多人都是在外企里面工作的。这样的话就会涉及到,跟外籍同事的沟通和协作。上下级之间的汇报工作。虽然我们的主要工作是开发软件。是技术类工作。跟计算机打交道比较多,但是沟通对技术来说,还是非常重要的。跟外籍同事沟通&#xf…

android找不到符号_快速搭建Android开发环境——Android Studio(附ADB找不到设备)...

由于毕设大概率最终要使用Android来实现,所以现在要开始学习一些Android开发基础了。学习一门技术,最先要解决的问题就是开发环境的问题。就如同两年前学java那样,在windows下配置环境总是一件不那么令人开心的事。Android也是一样&#xff0…

Java环境的正确配置你会了吗?

在很多新手入门学习Java的小伙伴都会面临到Java环境的配置,今天小编带大家来配置Java的环境配置,首先到官网下载Jdk:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装的话傻瓜式安装只需要下一步就可以&…

让初学者不迷茫的Java学习方法有很多?

相信各位小伙伴在学习过程中多少会遇到一些迷茫,学习是一个循序渐进的过程,最初的最基本的知识没有掌握,直接学习在这之上的更高层次的知识,最大的问题就是只能做到知其然,而不能做到知其所以然了。在之前小编也只是一…

mysql execute指令_MYSQL简单命令

常用 mysql 操作指令:连接:mysql -u用户名 -p密码退出:mysql>exit;建数据库:mysql>create database ???;显示数据库:mysql>show databases;//(-s)删除数据库:mysql>drop database ???;连…

mysql日期纬度表_mysql中生成时间维度表

mysql中生成时间维度表利用mysql常用日期函数生成时间维度表,效率最高,最简单,无需其他的一些工具支持。生成结果示例如下图:# time spanSET d0 "2012-01-01";SET d1 "2012-12-31";SET date date_sub(d0, …