用于MySql的SqlHelper

  1     /// <summary>
  2
  3     /// Title  :MySqlHelper
  4     /// Author :WinterT
  5     /// Date   :2015-1-8 08:12:54
  6     /// Description:
  7     ///       ExecuteNonQuery
  8     ///       ExecuteScalar
  9     ///       ExecuteReader
 10     ///       ExecuteTable
 11     /// </summary>
 12     public static class MySqlHelper
 13     {
 14         /// <summary>
 15         /// 返回配置文件中指定的连接
 16         /// </summary>
 17         /// <returns>配置文件中指定的连接</returns>
 18         private static MySqlConnection GetConnection()
 19         {
 20             string connString = ConfigurationManager.ConnectionStrings[1].ConnectionString;
 21             return new MySqlConnection(connString);
 22         }
 23         #region ExecuteNonQuery
 24         /// <summary>
 25         /// 执行sql语句
 26         /// </summary>
 27         /// <param name="sql">sql语句</param>
 28         /// <returns>受影响行数</returns>
 29         public static int ExecuteNonQuery(string sql)
 30         {
 31             using (MySqlConnection conn = GetConnection())
 32             {
 33                 using (MySqlCommand cmd = conn.CreateCommand())
 34                 {
 35                     cmd.CommandText = sql;
 36                     return cmd.ExecuteNonQuery();
 37                 }
 38             }
 39         }
 40         /// <summary>
 41         /// 根据给定连接,执行带参数的SQL语句
 42         /// </summary>
 43         /// <param name="conn">连接、使用前确保连接以打开。</param>
 44         /// <param name="sql">带参数的sql语句</param>
 45         /// <param name="paras">参数</param>
 46         /// <returns>受影响行数</returns>
 47         public static int ExecuteNonQuery
 48             (MySqlConnection conn, string sql, params MySqlParameter[] paras)
 49         {
 50             using (MySqlCommand cmd = conn.CreateCommand())
 51             {
 52                 cmd.CommandText = sql;
 53                 cmd.Parameters.AddRange(paras);
 54                 return cmd.ExecuteNonQuery();
 55             }
 56         }
 57         /// <summary>
 58         /// 执行带参数的SQL语句
 59         /// </summary>
 60         /// <param name="sql">带参数的sql语句</param>
 61         /// <param name="paras">参数</param>
 62         /// <returns>受影响行数</returns>
 63         public static int ExecuteNonQuery
 64             (string sql, params MySqlParameter[] paras)
 65         {
 66             using (MySqlConnection conn = GetConnection())
 67             {
 68                 return ExecuteNonQuery(conn, sql, paras);
 69             }
 70         }
 71         #endregion
 72         #region ExecuteScalar
 73         /// <summary>
 74         /// 执行sql语句,返回第一行第一列
 75         /// </summary>
 76         /// <param name="sql">sql语句</param>
 77         /// <returns>第一行第一列</returns>
 78         public static Object ExecuteScalar(string sql)
 79         {
 80             using (MySqlConnection conn = GetConnection())
 81             {
 82                 using (MySqlCommand cmd = conn.CreateCommand())
 83                 {
 84                     cmd.CommandText = sql;
 85                     return cmd.ExecuteScalar();
 86                 }
 87             }
 88         }
 89         /// <summary>
 90         /// 根据Connection对象,执行带参数的sql语句,返回第一行第一列
 91         /// </summary>
 92         /// <param name="conn">连接</param>
 93         /// <param name="sql">sql语句</param>
 94         /// <param name="paras">参数</param>
 95         /// <returns>返回第一行第一列</returns>
 96         public static object ExecuteScalar
 97             (MySqlConnection conn, string sql, MySqlParameter[] paras)
 98         {
 99             using (MySqlCommand cmd = conn.CreateCommand())
100             {
101                 cmd.CommandText = sql;
102                 cmd.Parameters.AddRange(paras);
103                 return cmd.ExecuteScalar();
104             }
105         }
106         /// <summary>
107         /// 执行带参数的sql语句,返回第一行第一列
108         /// </summary>
109         /// <param name="sql">sql语句</param>
110         /// <param name="paras">参数</param>
111         /// <returns>返回第一行第一列</returns>
112         public static object ExecuteScalar
113             (string sql, MySqlParameter[] paras)
114         {
115             using (MySqlConnection conn = GetConnection())
116             {
117                 return ExecuteScalar(conn, sql, paras);
118             }
119         }
120         #endregion
121         #region ExecuteReader
122         /// <summary>
123         /// 执行sql语句,返回一个MySqlDataReader
124         /// </summary>
125         /// <param name="sql">sql语句</param>
126         /// <returns>一个MySqlDataReader对象</returns>
127         public static MySqlDataReader ExecuteReader(string sql)
128         {
129             MySqlConnection conn = GetConnection();
130             using (MySqlCommand cmd = conn.CreateCommand())
131             {
132                 cmd.CommandText = sql;
133                 conn.Open();
134                 return cmd.ExecuteReader(CommandBehavior.CloseConnection);
135             }
136         }
137         /// <summary>
138         /// 根据指定的连接,执行带参数的sql语句,返回一个Reader对象
139         /// </summary>
140         /// <param name="conn">连接</param>
141         /// <param name="sql">sql语句</param>
142         /// <param name="paras">参数</param>
143         /// <returns>一个MySqlDataReader对象</returns>
144         public static MySqlDataReader ExecuteReader
145             (MySqlConnection conn, string sql, params MySqlParameter[] paras)
146         {
147             using (MySqlCommand cmd = conn.CreateCommand())
148             {
149                 cmd.CommandText = sql;
150                 cmd.Parameters.AddRange(paras);
151                 conn.Open();
152                 return cmd.ExecuteReader(CommandBehavior.CloseConnection);
153             }
154         }
155         /// <summary>
156         /// 执行带参数的sql语句,返回一个Reader对象
157         /// </summary>
158         /// <param name="sql">sql语句</param>
159         /// <param name="paras">参数</param>
160         /// <returns>一个MySqlDataReader对象</returns>
161         public static MySqlDataReader ExecuteReader
162             (string sql, params MySqlParameter[] paras)
163         {
164             MySqlConnection conn = GetConnection();
165             using (MySqlCommand cmd = conn.CreateCommand())
166             {
167                 return ExecuteReader(conn, sql, paras);
168             }
169         }
170         #endregion
171         #region ExecuteTable
172         /// <summary>
173         /// 执行sql语句,返回一个DataTable
174         /// </summary>
175         /// <param name="sql">sql语句</param>
176         /// <returns>DataTable</returns>
177         public static DataTable ExecuteTable(string sql)
178         {
179             using (MySqlConnection conn = GetConnection())
180             {
181                 using (MySqlCommand cmd = conn.CreateCommand())
182                 {
183                     cmd.CommandText = sql;
184                     using (MySqlDataReader reader = cmd.ExecuteReader())
185                     {
186                         DataTable table = new DataTable();
187                         table.Load(reader);
188                         return table;
189                     }
190                 }
191             }
192         }
193         /// <summary>
194         /// 根据连接,执行带参数的sql语句,返回一个DataTable
195         /// </summary>
196         /// <param name="conn">连接,切记连接已打开</param>
197         /// <param name="sql">sql语句</param>
198         /// <param name="paras">参数</param>
199         /// <returns>DataTable</returns>
200         public static DataTable ExecuteTable
201             (MySqlConnection conn, string sql, params MySqlParameter[] paras)
202         {
203             using (MySqlCommand cmd = conn.CreateCommand())
204             {
205                 cmd.CommandText = sql;
206                 cmd.Parameters.AddRange(paras);
207                 using (MySqlDataReader reader = cmd.ExecuteReader())
208                 {
209                     DataTable table = new DataTable();
210                     table.Load(reader);
211                     return table;
212                 }
213             }
214         }
215         /// <summary>
216         /// 执行带参数的sql语句
217         /// </summary>
218         /// <param name="sql">sql语句</param>
219         /// <param name="paras">参数</param>
220         /// <returns>DataTable</returns>
221         public static DataTable ExecuteTable
222             (string sql, params MySqlParameter[] paras)
223         {
224             using (MySqlConnection conn = GetConnection())
225             {
226                 return ExecuteTable(conn, sql, paras);
227             }
228         }
229
230         #endregion
231     }
时间: 2024-11-12 12:07:55

用于MySql的SqlHelper的相关文章

mysqldump常用于MySQL数据库逻辑备份

mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump file] 上述命令将指定数据库备份到某dump文件(转储文件)中,比如: mysqldump -uroot -p123 test > test.dump 生成的test.dump文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句. B. --opt 如果加上--opt参数则生成的du

用于Simple.Data的ASP.NET Identity Provider

今天推举的这篇文章,本意不是要推举文章的内容,而是据此介绍一下Simple.Data这个很有意思的类ORM工具. 现在大家在.NET开发中如果需要进行数据访问,那么基本都会使用一些ORM工具,比如微软提供的Entity Framework(现在是6.x版本,马上要发布7.0版本)或者NHibernate.当然可能有些开发人员会使用一些更轻量级的ORM工具,或者一些诸如SqlHelper的非ORM工具.在轻量级ORM工具中,比较有代表性的就是Dapper和Simple.Data. 而Simple.

MySQL python交互

安装引入模块 安装mysql模块 sudo apt-get install python-mysql 在文件中引入模块 import Mysqldb Connection对象 用于建立与数据库的连接 创建对象:调用connect()方法 conn=connect(参数列表) 参数host:连接的mysql主机,如果本机是'localhost' 参数port:连接的mysql主机的端口,默认是3306 参数db:数据库的名称 参数user:连接的用户名 参数password:连接的密码 参数cha

《高可用MySQL》1 – Windows环境下压缩版MySQL安装

近日在读O'REILIY系列的<高可用MySQL>, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容. Master-Slave这东西吧.在很多公司都是标配.开发中基本天天都用.遇到的问题自然也不少(如主从不同步,Master宕机).但操作权限很有限.有些东西,仅仅有自己看了.做了,才干真正知道原理是什么,也才干更好的去把握. 本文是高可用MySQL的第一篇读书笔记,主要记录Windows环境下压缩版MySQL(基于安装版的傻瓜式安装过程这里不再提及)的安装过程. 1. 从

2016.3.25(mySQL简单的数据查询)

要从数据库中查询,要使用SQL的select语句,标准select查询有select子句,where子句,order by子句组成. 查询数据的标准结构为:select 列名 from 表名 where 条件 order by 列名 asc(升序)/desc(降序) 查询操作的分类:1.投影操作,指定查询结果中能显示哪些列 2.选择操作,指定哪行出现在结果中 3.排序操作,指定查询的结果以什么样的顺序显示 投影操作:select 列1,列2 from 表名 表前缀:select 表名.列名 fr

MySQL分库备份

公司一直是全备+binlog,但是如果单个库出现问题怎么办,在进行完整恢复的话,第一会耽误时间,第二会影响其它数据库,第三如果数据量大,对于库的恢复也是问题,所以我提出了,除了全备,还要做分库备份,只要更灵活,出现问题,直接恢复单库(方便.快捷) 下面直接上脚本 1,将MySQL自带库外的其他库进行备份 #!/bin/bash #--------------------------------------------------------- # $Name:         Store_bac

用于 SELECT 和 WHERE 子句的函数

1 一个 SQL 语句中的 select_expression 或 where_definition 可由任何使用了下面所描述函数的表达式组成. 2 3 包含 NULL 的表达式总是得出一个 NULL 值结果,除非表达式中的操作和函数在文档中有另外的说明. 4 5 注意:在一个函数名和跟随它的括号之间必须不存在空格.这有助于 MySQL 语法分析程序区分函数调用和对恰巧与函数同名表或列的引用.然而,参数左右两边的空格却是允许的. 6 7 你可以强制 MySQL 接受函数名后存在空格的形式,这需要

Elasticsearch-jdbc批量同步mysql数据失败

最近公司系统中全模糊查询很多,数据量又大,多表连接查询时会很影响性能.于是考虑使用搜索引擎来做全模糊查询,思路: mysql数据库数据同步至ES类型,同步采用全量同步+定时增量方式,应用直接从ES中去查询想要的结果. 通过一番查找,决定使用elasticsearch-jdbc进行数据的同步,五六张表的连接结果,在数据量小的开发与测试环境运行正常,但在数据量比较大的性能测试环境做数据同步的话就会出现问题,以下为同步时报的一些错,github上也未找到相关有用的东西.群里问也都没人这样使用. 一种报

shell脚本:mysql全备与binlog增量备份

脚本功能:mysql库备份脚本,全备与binlog日志备份 脚本可以根据指定的参数进行全备,其余时间备份binlog日志 --------------- #!/bin/bash # description:Trian Server backup databases # revision on 2016-02-18 # by colin # #################################### # 功能说明:该脚本运用于mysql每天备份与上传 #  # 使用说明: # ./m