用于MySql的SqlHelper
用于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的更多相关文章
- mysqldump常用于MySQL数据库逻辑备份
mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump ...
- 用于Mysql操作的MySqlHelper类
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Te ...
- 清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问题:找不到SCOTT员工了,只有13条数据,这显然不合理:这就是内连接的缺 ...
- 清晰讲解SQL语句中的内连接,通用于Mysql和Oracle,全是干货哦
本文章目的:力求清晰明了讲解SQL语句的内连接的各种应用,没有深奥的理解! 前奏:这篇文章和下篇文章会将内连接和外连接讲解清楚SQL语句的多表查询常用的有以下几种:两表联合查询(1)内连接(2)外连接 ...
- 从Word中拷贝字段用于MySQL建表
1.SQL 基础表 建立 USE [Test] GO /****** Object: Table [dbo].[CreateTable] Script Date: 10/17/2016 14:07:1 ...
- 用于Simple.Data的ASP.NET Identity Provider
今天推举的这篇文章,本意不是要推举文章的内容,而是据此介绍一下Simple.Data这个很有意思的类ORM工具. 现在大家在.NET开发中如果需要进行数据访问,那么基本都会使用一些ORM工具,比如微软 ...
- MysQL使用一与Python交互
与python交互 在熟练使用sql语句的基础上,开始使用python语言提供的模块与mysql进行交互 这是我们在工作中大事要做的事 先学会sql是基础,一定要熟练编写sql语句 安装引入模块 安装 ...
- 开发使用mysql的一些必备知识点整理(四)与python交互
与python交互 在熟练使用sql语句的基础上,开始使用python语言提供的模块与mysql进行交互 这是我们在工作中大事要做的事 先学会sql是基础,一定要熟练编写sql语句 安装引入模块 安装 ...
- 我的MYSQL学习心得(六) 函数
我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
随机推荐
- 关于 MySQL UTF8 编码下生僻字符插入失败/假死问题的分析
原文:http://my.oschina.net/leejun2005/blog/343353 目录[-] 1.问题:mysql 遇到某些中文插入异常 2.原因:此 utf8 非彼 utf8 3.解决 ...
- mysql处理上百万条的数据库如何优化语句来提高处理查询效率
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- Ulipad和有道词典冲突的问题
Ulipad和目前版本的有道词典有冲突,表现为先开有道词典,Ulipad就无法运行. 解决方法是:找到Ulipad安装目录下的config.ini,添加以下两行: [server] port=50 ...
- mysql触发器查看
查询触发器列表 SHOW TRIGGERS; 但是这个无法查询到没有权限的触发器,可以试试这个 select * from sym_trigger where source_table_name li ...
- poj 1789 Truck History 最小生成树
点击打开链接 Truck History Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 15235 Accepted: ...
- (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 ...
- 用HTML代码加载Unity内容
Unity内容在浏览器通过Unity网络播放器插件加载.HTML代码与这个插件通常不直接通信,而是通过UnityObject的脚本帮助.其主要任务是Unity的内容嵌入一个非常简单的任务,通过从各种浏 ...
- Cardinality Feedback
该特性主要针对 统计信息陈旧.无直方图或虽然有直方图但仍基数计算不准确的情况, Cardinality基数的计算直接影响到后续的JOIN COST等重要的成本计算评估,造成CBO选择不当的执行计划 O ...
- Qt编译安装后中文无法显示问题
闲的蛋疼,把Ubuntu删了,再装10.04的时候,QT编译后运行自己的程序已经不能显示中文了,只能显示英文,字体贼丑... 想了各种办法,都没解决.. 最后:终于搞定: apt-get instal ...
- java的String类(一)
final类,无子类. 类内定义了char数组value[],私有,不可修改. String的长度,length(). 判空,isEmpty(). 索引index处的字符,charAt(index). ...