C#编程入门--MYSQLHELPER
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using MySql.Data.MySqlClient; namespace drWm.mdal
{
public class MySqlHelper
{
//private static string connstr = @"server=localhost;uid=root;pwd=121535;database=tem;charset=utf8";
private static string connstr = @"Host=127.0.0.1;UserName=root;Password=drpassword;Database=watermonitor;Port=3406;CharSet=utf8;Allow Zero Datetime=true"; #region 执行查询语句,返回MySqlDataReader
/// <summary>
/// 执行查询语句,返回MySqlDataReader
/// </summary>
/// <param name="sqlString"></param>
/// <returns></returns>
public static MySqlDataReader ExecuteReader(string sqlString)
{
MySqlConnection connection = new MySqlConnection(connstr);
MySqlCommand cmd = new MySqlCommand(sqlString, connection);
MySqlDataReader myReader = null;
try
{
connection.Open();
myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return myReader;
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw new Exception(e.Message);
}
finally
{
if (myReader == null)
{
cmd.Dispose();
connection.Close();
}
}
}
#endregion #region 执行带参数的查询语句,返回MySqlDataReader
/// <summary>
/// 执行带参数的查询语句,返回MySqlDataReader
/// </summary>
/// <param name="sqlString"></param>
/// <param name="cmdParms"></param>
/// <returns></returns>
public static MySqlDataReader ExecuteReader(string sqlString, params MySqlParameter[] cmdParms)
{
MySqlConnection connection = new MySqlConnection(connstr);
MySqlCommand cmd = new MySqlCommand();
MySqlDataReader myReader = null;
try
{
PrepareCommand(cmd, connection, null, sqlString, cmdParms);
myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return myReader;
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw new Exception(e.Message);
}
finally
{
if (myReader == null)
{
cmd.Dispose();
connection.Close();
}
}
}
#endregion #region 执行sql语句,返回执行行数
/// <summary>
/// 执行sql语句,返回执行行数
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static int ExecuteSql(string sql)
{
using (MySqlConnection conn = new MySqlConnection(connstr))
{
using (MySqlCommand cmd = new MySqlCommand(sql, conn))
{
try
{
conn.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (MySql.Data.MySqlClient.MySqlException e)
{
conn.Close();
throw e;
}
finally
{
cmd.Dispose();
conn.Close();
}
}
}
}
#endregion #region 执行带参数的sql语句,并返回执行行数
/// <summary>
/// 执行带参数的sql语句,并返回执行行数
/// </summary>
/// <param name="sqlString"></param>
/// <param name="cmdParms"></param>
/// <returns></returns>
public static int ExecuteSql(string sqlString, params MySqlParameter[] cmdParms)
{
using (MySqlConnection connection = new MySqlConnection(connstr))
{
using (MySqlCommand cmd = new MySqlCommand())
{
try
{
PrepareCommand(cmd, connection, null, sqlString, cmdParms);
int rows = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return rows;
}
catch (System.Data.SqlClient.SqlException E)
{
throw new Exception(E.Message);
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}
}
#endregion #region 执行查询语句,返回DataSet
/// <summary>
/// 执行查询语句,返回DataSet
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static DataSet GetDataSet(string sql)
{
using (MySqlConnection conn = new MySqlConnection(connstr))
{
DataSet ds = new DataSet();
try
{
conn.Open();
MySqlDataAdapter DataAdapter = new MySqlDataAdapter(sql, conn);
DataAdapter.Fill(ds);
}
catch (Exception ex)
{
throw ex;
}
finally
{
conn.Close();
}
return ds;
}
}
#endregion #region 执行带参数的查询语句,返回DataSet
/// <summary>
/// 执行带参数的查询语句,返回DataSet
/// </summary>
/// <param name="sqlString"></param>
/// <param name="cmdParms"></param>
/// <returns></returns>
public static DataSet GetDataSet(string sqlString, params MySqlParameter[] cmdParms)
{
using (MySqlConnection connection = new MySqlConnection(connstr))
{
MySqlCommand cmd = new MySqlCommand();
PrepareCommand(cmd, connection, null, sqlString, cmdParms);
using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
{
DataSet ds = new DataSet();
try
{
da.Fill(ds, "ds");
cmd.Parameters.Clear();
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
finally
{
cmd.Dispose();
connection.Close();
}
return ds;
}
}
}
#endregion #region 执行带参数的sql语句,并返回object
/// <summary>
/// 执行带参数的sql语句,并返回object
/// </summary>
/// <param name="sqlString"></param>
/// <param name="cmdParms"></param>
/// <returns></returns>
public static object GetSingle(string sqlString, params MySqlParameter[] cmdParms)
{
using (MySqlConnection connection = new MySqlConnection(connstr))
{
using (MySqlCommand cmd = new MySqlCommand())
{
try
{
PrepareCommand(cmd, connection, null, sqlString, cmdParms);
object obj = cmd.ExecuteScalar();
cmd.Parameters.Clear();
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
return null;
}
else
{
return obj;
}
}
catch (System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}
}
#endregion /// <summary>
/// 执行存储过程,返回数据集
/// </summary>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters">存储过程参数</param>
/// <returns>DataSet</returns>
public static DataSet RunProcedureForDataSet(string storedProcName, IDataParameter[] parameters)
{
using (MySqlConnection connection = new MySqlConnection(connstr))
{
DataSet dataSet = new DataSet();
connection.Open();
MySqlDataAdapter sqlDA = new MySqlDataAdapter();
sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
sqlDA.Fill(dataSet);
connection.Close();
return dataSet;
}
} /// <summary>
/// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值)
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters">存储过程参数</param>
/// <returns>SqlCommand</returns>
private static MySqlCommand BuildQueryCommand(MySqlConnection connection, string storedProcName,
IDataParameter[] parameters)
{
MySqlCommand command = new MySqlCommand(storedProcName, connection);
command.CommandType = CommandType.StoredProcedure;
foreach (MySqlParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
return command;
} #region 装载MySqlCommand对象
/// <summary>
/// 装载MySqlCommand对象
/// </summary>
private static void PrepareCommand(MySqlCommand cmd, MySqlConnection conn, MySqlTransaction trans, string cmdText,
MySqlParameter[] cmdParms)
{
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
cmd.Connection = conn;
cmd.CommandText = cmdText;
if (trans != null)
{
cmd.Transaction = trans;
}
cmd.CommandType = CommandType.Text; //cmdType;
if (cmdParms != null)
{
foreach (MySqlParameter parm in cmdParms)
{
cmd.Parameters.Add(parm);
}
}
}
#endregion }
}
C#编程入门--MYSQLHELPER的更多相关文章
- PHP面向对象(OOP)编程入门教程
面向对象编程(OOP)是我们编程的一项基本技能,PHP5对OOP提供了良好的支持.如何使用OOP的思想来进行PHP的高级编程,对于提高 PHP编程能力和规划好Web开发构架都是非常有意义的.下面我们就 ...
- Windows编程入门程序详解
引用:http://blog.csdn.net/jarvischu/article/details/8115390 1. 程序 /******************************* ...
- 【PHP面向对象(OOP)编程入门教程】1.什么是面向对象?
面向对象编程(Object Oriented Programming, OOP, 面向对象程序设计)是一种计算机编程架构,OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成 ...
- Linux 利器- Python 脚本编程入门(一)
导读 众所周知,系统管理员需要精通一门脚本语言,而且招聘机构列出的职位需求上也会这么写.大多数人会认为 Bash (或者其他的 shell 语言)用起来很方便,但一些强大的语言(比如 Python)会 ...
- 转载自~浮云比翼:Step by Step:Linux C多线程编程入门(基本API及多线程的同步与互斥)
Step by Step:Linux C多线程编程入门(基本API及多线程的同步与互斥) 介绍:什么是线程,线程的优点是什么 线程在Unix系统下,通常被称为轻量级的进程,线程虽然不是进程,但却可 ...
- OpenAl编程入门:播放一段音频
OpenAl编程入门 关于OpenAl我就不多介绍了,这两篇说明对于初步了解已经足够了:http://baike.baidu.com/view/1355367.htmhttp://en.wikiped ...
- [电子书] 《Android编程入门很简单》
<Android编程入门很简单>是一本与众不同的Android学习读物,是一本化繁为简,把抽象问题具体化,把复杂问题简单化的书.本书避免出现云山雾罩.晦涩难懂的讲解,代之以轻松活泼.由浅入 ...
- MFC编程入门之五(MFC消息映射机制概述)
在MFC软件开发中,界面操作或者线程之间通信都会经常用到消息,通过对消息的处理实现相应的操作.比较典型的过程是,用户操作窗口,然后有消息产生,送给窗口的消息处理函数处理,对用户的操作做出响应. 一.什 ...
- 完成《Java编程入门》初稿
Java编程入门 现在的运维工程师不但要懂得集合网络.系统管理而且要和开发人员一起调试系统,社会上也需要"复合性"的运维人员,所以需要做运维的也要懂一些开发,知道软件系统接口的调试 ...
随机推荐
- python之将Unicode文本标准化
在需要比较字符串的程序中使用字符的多种表示会产生问题. 为了修正这个问题,你可以使用unicodedata模块先将文本标准化: s1 = 'Spicy Jalape\u00f1o' s2 = 'Spi ...
- JS数组中Array.of()方法的使用
Array.of()方法的使用: Array.of()方法用于将一组数值转换为数组,举例: const a = Array.of(2,4,6,8); console.log(a); // [2,4,6 ...
- Python 基础 2-1 列表入门
引言 列表 list 是由一系列按照特定顺序排列的元素组成的,它是一种有序的数据集合. 你可以添加任何类型的元素到列表中,其中的元素之间可以没有任何关系. 列表简介 Python 使用方括号 [] 来 ...
- Linux账号管理与ALC权限设定(一)
UID 与 GID UID用户的编号 GID 用户群组的编号 账号登录时,有一个对应的文本来记录某个账户的UID与GID.然后获得这个UID去对应的密码文本中,取得密码进行比对,然后登陆. 保 ...
- Numpy_key_point
Numpy使用中的一些注意点: ------------------------------------------------------------------------------------ ...
- 互斥量mutex简介
互斥量又称互斥锁.互斥量是一个可以处于两态之一的变量:解锁和加锁. 简介 编辑 如果不需要信号量的计数能力,有时可以使用信号量的一个简化版本,称为互斥量(mutex).互斥量仅仅适用于管理共享资源或一 ...
- 解决VSCode中Python在控制台输出中文乱码的问题
在菜单Debug->Open Configurations,打开launch.json,新增如下粉红色字符内容: { // Use IntelliSense to learn about pos ...
- TCP协议解析及相关问题
TCP协议是什么: TCP是一种传输控制层的协议(TCP,Transmission Control Protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议.也就是要 ...
- kNN算法和决策树
的整数. 下面看书上给出的实例: from numpy import * import operator def createdataset(): group=array([[1.0,1.1],[1. ...
- PHP FILTER_SANITIZE_SPECIAL_CHARS 过滤器
定义和用法 FILTER_SANITIZE_SPECIAL_CHARS 过滤器对特殊字符进行 HTML 转义. 该过滤器用于转义 "<>& 以及 ASCII 值在 32 ...