用于MySql的SqlHelper

     /// <summary>

     /// Title  :MySqlHelper
/// Author :WinterT
/// Date :2015-1-8 08:12:54
/// Description:
/// ExecuteNonQuery
/// ExecuteScalar
/// ExecuteReader
/// ExecuteTable
/// </summary>
public static class MySqlHelper
{
/// <summary>
/// 返回配置文件中指定的连接
/// </summary>
/// <returns>配置文件中指定的连接</returns>
private static MySqlConnection GetConnection()
{
string connString = ConfigurationManager.ConnectionStrings[].ConnectionString;
return new MySqlConnection(connString);
}
#region ExecuteNonQuery
/// <summary>
/// 执行sql语句
/// </summary>
/// <param name="sql">sql语句</param>
/// <returns>受影响行数</returns>
public static int ExecuteNonQuery(string sql)
{
using (MySqlConnection conn = GetConnection())
{
using (MySqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
return cmd.ExecuteNonQuery();
}
}
}
/// <summary>
/// 根据给定连接,执行带参数的SQL语句
/// </summary>
/// <param name="conn">连接、使用前确保连接以打开。</param>
/// <param name="sql">带参数的sql语句</param>
/// <param name="paras">参数</param>
/// <returns>受影响行数</returns>
public static int ExecuteNonQuery
(MySqlConnection conn, string sql, params MySqlParameter[] paras)
{
using (MySqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(paras);
return cmd.ExecuteNonQuery();
}
}
/// <summary>
/// 执行带参数的SQL语句
/// </summary>
/// <param name="sql">带参数的sql语句</param>
/// <param name="paras">参数</param>
/// <returns>受影响行数</returns>
public static int ExecuteNonQuery
(string sql, params MySqlParameter[] paras)
{
using (MySqlConnection conn = GetConnection())
{
return ExecuteNonQuery(conn, sql, paras);
}
}
#endregion
#region ExecuteScalar
/// <summary>
/// 执行sql语句,返回第一行第一列
/// </summary>
/// <param name="sql">sql语句</param>
/// <returns>第一行第一列</returns>
public static Object ExecuteScalar(string sql)
{
using (MySqlConnection conn = GetConnection())
{
using (MySqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
return cmd.ExecuteScalar();
}
}
}
/// <summary>
/// 根据Connection对象,执行带参数的sql语句,返回第一行第一列
/// </summary>
/// <param name="conn">连接</param>
/// <param name="sql">sql语句</param>
/// <param name="paras">参数</param>
/// <returns>返回第一行第一列</returns>
public static object ExecuteScalar
(MySqlConnection conn, string sql, MySqlParameter[] paras)
{
using (MySqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(paras);
return cmd.ExecuteScalar();
}
}
/// <summary>
/// 执行带参数的sql语句,返回第一行第一列
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="paras">参数</param>
/// <returns>返回第一行第一列</returns>
public static object ExecuteScalar
(string sql, MySqlParameter[] paras)
{
using (MySqlConnection conn = GetConnection())
{
return ExecuteScalar(conn, sql, paras);
}
}
#endregion
#region ExecuteReader
/// <summary>
/// 执行sql语句,返回一个MySqlDataReader
/// </summary>
/// <param name="sql">sql语句</param>
/// <returns>一个MySqlDataReader对象</returns>
public static MySqlDataReader ExecuteReader(string sql)
{
MySqlConnection conn = GetConnection();
using (MySqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
conn.Open();
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
}
/// <summary>
/// 根据指定的连接,执行带参数的sql语句,返回一个Reader对象
/// </summary>
/// <param name="conn">连接</param>
/// <param name="sql">sql语句</param>
/// <param name="paras">参数</param>
/// <returns>一个MySqlDataReader对象</returns>
public static MySqlDataReader ExecuteReader
(MySqlConnection conn, string sql, params MySqlParameter[] paras)
{
using (MySqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(paras);
conn.Open();
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
}
/// <summary>
/// 执行带参数的sql语句,返回一个Reader对象
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="paras">参数</param>
/// <returns>一个MySqlDataReader对象</returns>
public static MySqlDataReader ExecuteReader
(string sql, params MySqlParameter[] paras)
{
MySqlConnection conn = GetConnection();
using (MySqlCommand cmd = conn.CreateCommand())
{
return ExecuteReader(conn, sql, paras);
}
}
#endregion
#region ExecuteTable
/// <summary>
/// 执行sql语句,返回一个DataTable
/// </summary>
/// <param name="sql">sql语句</param>
/// <returns>DataTable</returns>
public static DataTable ExecuteTable(string sql)
{
using (MySqlConnection conn = GetConnection())
{
using (MySqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
using (MySqlDataReader reader = cmd.ExecuteReader())
{
DataTable table = new DataTable();
table.Load(reader);
return table;
}
}
}
}
/// <summary>
/// 根据连接,执行带参数的sql语句,返回一个DataTable
/// </summary>
/// <param name="conn">连接,切记连接已打开</param>
/// <param name="sql">sql语句</param>
/// <param name="paras">参数</param>
/// <returns>DataTable</returns>
public static DataTable ExecuteTable
(MySqlConnection conn, string sql, params MySqlParameter[] paras)
{
using (MySqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(paras);
using (MySqlDataReader reader = cmd.ExecuteReader())
{
DataTable table = new DataTable();
table.Load(reader);
return table;
}
}
}
/// <summary>
/// 执行带参数的sql语句
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="paras">参数</param>
/// <returns>DataTable</returns>
public static DataTable ExecuteTable
(string sql, params MySqlParameter[] paras)
{
using (MySqlConnection conn = GetConnection())
{
return ExecuteTable(conn, sql, paras);
}
} #endregion
}

用于MySql的SqlHelper的更多相关文章

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

    mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump ...

  2. 用于Mysql操作的MySqlHelper类

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Te ...

  3. 清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦

    直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问题:找不到SCOTT员工了,只有13条数据,这显然不合理:这就是内连接的缺 ...

  4. 清晰讲解SQL语句中的内连接,通用于Mysql和Oracle,全是干货哦

    本文章目的:力求清晰明了讲解SQL语句的内连接的各种应用,没有深奥的理解! 前奏:这篇文章和下篇文章会将内连接和外连接讲解清楚SQL语句的多表查询常用的有以下几种:两表联合查询(1)内连接(2)外连接 ...

  5. 从Word中拷贝字段用于MySQL建表

    1.SQL 基础表 建立 USE [Test] GO /****** Object: Table [dbo].[CreateTable] Script Date: 10/17/2016 14:07:1 ...

  6. 用于Simple.Data的ASP.NET Identity Provider

    今天推举的这篇文章,本意不是要推举文章的内容,而是据此介绍一下Simple.Data这个很有意思的类ORM工具. 现在大家在.NET开发中如果需要进行数据访问,那么基本都会使用一些ORM工具,比如微软 ...

  7. MysQL使用一与Python交互

    与python交互 在熟练使用sql语句的基础上,开始使用python语言提供的模块与mysql进行交互 这是我们在工作中大事要做的事 先学会sql是基础,一定要熟练编写sql语句 安装引入模块 安装 ...

  8. 开发使用mysql的一些必备知识点整理(四)与python交互

    与python交互 在熟练使用sql语句的基础上,开始使用python语言提供的模块与mysql进行交互 这是我们在工作中大事要做的事 先学会sql是基础,一定要熟练编写sql语句 安装引入模块 安装 ...

  9. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

随机推荐

  1. 关于 MySQL UTF8 编码下生僻字符插入失败/假死问题的分析

    原文:http://my.oschina.net/leejun2005/blog/343353 目录[-] 1.问题:mysql 遇到某些中文插入异常 2.原因:此 utf8 非彼 utf8 3.解决 ...

  2. mysql处理上百万条的数据库如何优化语句来提高处理查询效率

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  3. Ulipad和有道词典冲突的问题

    Ulipad和目前版本的有道词典有冲突,表现为先开有道词典,Ulipad就无法运行. 解决方法是:找到Ulipad安装目录下的config.ini,添加以下两行:   [server] port=50 ...

  4. mysql触发器查看

    查询触发器列表 SHOW TRIGGERS; 但是这个无法查询到没有权限的触发器,可以试试这个 select * from sym_trigger where source_table_name li ...

  5. poj 1789 Truck History 最小生成树

    点击打开链接 Truck History Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 15235   Accepted:  ...

  6. (easy)LeetCode 234.Palindrome Linked List

    Given a singly linked list, determine if it is a palindrome. Follow up:Could you do it in O(n) time ...

  7. 用HTML代码加载Unity内容

    Unity内容在浏览器通过Unity网络播放器插件加载.HTML代码与这个插件通常不直接通信,而是通过UnityObject的脚本帮助.其主要任务是Unity的内容嵌入一个非常简单的任务,通过从各种浏 ...

  8. Cardinality Feedback

    该特性主要针对 统计信息陈旧.无直方图或虽然有直方图但仍基数计算不准确的情况, Cardinality基数的计算直接影响到后续的JOIN COST等重要的成本计算评估,造成CBO选择不当的执行计划 O ...

  9. Qt编译安装后中文无法显示问题

    闲的蛋疼,把Ubuntu删了,再装10.04的时候,QT编译后运行自己的程序已经不能显示中文了,只能显示英文,字体贼丑... 想了各种办法,都没解决.. 最后:终于搞定: apt-get instal ...

  10. java的String类(一)

    final类,无子类. 类内定义了char数组value[],私有,不可修改. String的长度,length(). 判空,isEmpty(). 索引index处的字符,charAt(index). ...