[转]MySQLHelper类

本文转自:http://de.cel.blog.163.com/blog/static/5145123620110181003903/

类似于SQLHelper,只是这里引用的是MySql.Data类库,而不是System.Data.SqlClient;因为.Net框架里面并不包 含些类库,好在咱们有强大的网友有做好的MySql.Data类库。在网上一搜MySql.Data就可以找到的。注意一定要先添加对 MySql.Data的引用哦,接下来是MySQLHelper的类库代码。

using System.Data;
using MySql.Data.MySqlClient;

namespace MySQLHelper
{

/// <summary>

/// 基于MySQL的数据层基类

/// </summary>

/// <remarks>

/// 参考于MS Petshop 4.0

/// </remarks>

public abstract class MySqlHelper
    {

#region 数据库连接字符串

public static readonly string DBConnectionString =
System.Configuration.ConfigurationManager.ConnectionStrings["DBConnectionString"].ToString();

//public static readonly string DBConnectionString =
"Server=localhost;DataBase=menagerie;Uid=de.cel;Pwd=de.cel";  
//在MySql中localhost好像不能用"."代替,我试了一下,会出错。
        #endregion

#region PrepareCommand

/// <summary>

/// Command预处理

/// </summary>

/// <param name="conn">MySqlConnection对象</param>

/// <param name="trans">MySqlTransaction对象,可为null</param>

/// <param name="cmd">MySqlCommand对象</param>

/// <param name="cmdType">CommandType,存储过程或命令行</param>

/// <param name="cmdText">SQL语句或存储过程名</param>

/// <param name="cmdParms">MySqlCommand参数数组,可为null</param>

private static void PrepareCommand(MySqlConnection conn,
MySqlTransaction trans, MySqlCommand cmd, CommandType cmdType, 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 = cmdType;

if (cmdParms != null)
            {

foreach (MySqlParameter parm in cmdParms)

cmd.Parameters.Add(parm);

}

}

#endregion

#region ExecuteNonQuery

/// <summary>

/// 执行命令

/// </summary>

/// <param name="connectionString">数据库连接字符串</param>

/// <param name="cmdType">命令类型(存储过程或SQL语句)</param>

/// <param name="cmdText">SQL语句或存储过程名</param>

/// <param name="cmdParms">MySqlCommand参数数组</param>

/// <returns>返回受引响的记录行数</returns>

public static int ExecuteNonQuery(string connectionString, CommandType
cmdType, string cmdText, params MySqlParameter[] cmdParms)
        {

MySqlCommand cmd = new MySqlCommand();

using (MySqlConnection conn = new MySqlConnection(connectionString))
            {

PrepareCommand(conn, null, cmd, cmdType, cmdText, cmdParms);

int val = cmd.ExecuteNonQuery();

cmd.Parameters.Clear();

return val;

}

}

/// <summary>

/// 执行命令

/// </summary>

/// <param name="conn">Connection对象</param>

/// <param name="cmdType">命令类型(存储过程或SQL语句)</param>

/// <param name="cmdText">SQL语句或存储过程名</param>

/// <param name="cmdParms">MySqlCommand参数数组</param>

/// <returns>返回受引响的记录行数</returns>

public static int ExecuteNonQuery(MySqlConnection conn, CommandType
cmdType, string cmdText, params MySqlParameter[] cmdParms)
        {

MySqlCommand cmd = new MySqlCommand();

PrepareCommand(conn, null, cmd, cmdType, cmdText, cmdParms);

int val = cmd.ExecuteNonQuery();

cmd.Parameters.Clear();

return val;

}

/// <summary>

/// 执行事务

/// </summary>

/// <param name="trans">MySqlTransaction对象</param>

/// <param name="cmdType">命令类型(存储过程或SQL语句)</param>

/// <param name="cmdText">SQL语句或存储过程名</param>

/// <param name="cmdParms">MySqlCommand参数数组</param>

/// <returns>返回受引响的记录行数</returns>

public static int ExecuteNonQuery(MySqlTransaction trans, CommandType
cmdType, string cmdText, params MySqlParameter[] cmdParms)
        {

MySqlCommand cmd = new MySqlCommand();

PrepareCommand(trans.Connection, trans, cmd, cmdType, cmdText, cmdParms);

int val = cmd.ExecuteNonQuery();

cmd.Parameters.Clear();

return val;

}

#endregion

#region ExecuteScalar

/// <summary>

/// 执行命令,返回第一行第一列的值

/// </summary>

/// <param name="connectionString">数据库连接字符串</param>

/// <param name="cmdType">命令类型(存储过程或SQL语句)</param>

/// <param name="cmdText">SQL语句或存储过程名</param>

/// <param name="cmdParms">MySqlCommand参数数组</param>

/// <returns>返回Object对象</returns>

public static object ExecuteScalar(string connectionString, CommandType
cmdType, string cmdText, params MySqlParameter[] cmdParms)
        {

MySqlCommand cmd = new MySqlCommand();

using (MySqlConnection connection = new MySqlConnection(connectionString))
            {

PrepareCommand(connection, null, cmd, cmdType, cmdText, cmdParms);

object val = cmd.ExecuteScalar();

cmd.Parameters.Clear();

return val;

}

}

/// <summary>

/// 执行命令,返回第一行第一列的值

/// </summary>

/// <param name="connectionString">数据库连接字符串</param>

/// <param name="cmdType">命令类型(存储过程或SQL语句)</param>

/// <param name="cmdText">SQL语句或存储过程名</param>

/// <param name="cmdParms">MySqlCommand参数数组</param>

/// <returns>返回Object对象</returns>

public static object ExecuteScalar(MySqlConnection conn, CommandType
cmdType, string cmdText, params MySqlParameter[] cmdParms)
        {

MySqlCommand cmd = new MySqlCommand();

PrepareCommand(conn, null, cmd, cmdType, cmdText, cmdParms);

object val = cmd.ExecuteScalar();

cmd.Parameters.Clear();

return val;

}

#endregion

#region ExecuteReader

/// <summary>

/// 执行命令或存储过程,返回MySqlDataReader对象

/// 注意MySqlDataReader对象使用完后必须Close以释放MySqlConnection资源

/// </summary>

/// <param name="connectionString">数据库连接字符串</param>

/// <param name="cmdType">命令类型(存储过程或SQL语句)</param>

/// <param name="cmdText">SQL语句或存储过程名</param>

/// <param name="cmdParms">MySqlCommand参数数组</param>

/// <returns></returns>

public static MySqlDataReader ExecuteReader(string connectionString,
CommandType cmdType, string cmdText, params MySqlParameter[] cmdParms)
        {

MySqlCommand cmd = new MySqlCommand();

MySqlConnection conn = new MySqlConnection(connectionString);

try
            {

PrepareCommand(conn, null, cmd, cmdType, cmdText, cmdParms);

MySqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

cmd.Parameters.Clear();

return dr;

}

catch
            {

conn.Close();

throw;

}

}

#endregion

#region ExecuteDataSet

/// <summary>

/// 执行命令或存储过程,返回DataSet对象

/// </summary>

/// <param name="connectionString">数据库连接字符串</param>

/// <param name="cmdType">命令类型(存储过程或SQL语句)</param>

/// <param name="cmdText">SQL语句或存储过程名</param>

/// <param name="cmdParms">MySqlCommand参数数组(可为null值)</param>

/// <returns></returns>

public static DataSet ExecuteDataSet(string connectionString,
CommandType cmdType, string cmdText, params MySqlParameter[] cmdParms)
        {

MySqlCommand cmd = new MySqlCommand();

using (MySqlConnection conn = new MySqlConnection(connectionString))
            {

PrepareCommand(conn, null, cmd, cmdType, cmdText, cmdParms);

MySqlDataAdapter da = new MySqlDataAdapter(cmd);

DataSet ds = new DataSet();

da.Fill(ds);

conn.Close();

cmd.Parameters.Clear();

return ds;

}

}

#endregion

}//end class

}

时间: 2024-10-03 22:54:35

[转]MySQLHelper类的相关文章

MysqlHelper类

using System; using System; using System.Collections; using System.Collections.Specialized; using System.Data; using MySql.Data.MySqlClient; using System.Configuration; using System.Data.Common; using System.Collections.Generic; using System.Text.Reg

java连接MySQL数据库

插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和服务器端交互,这个我之前没做过,因此接下来的时间里会陆续更新这一些列的博客,记录学习的点滴.第一篇主要是java读取mysql数据库文件.安装及配置文件稍后会上传到我的百度网盘供大家下载.其他的介绍在网上都可以找到相关的博客,下面直接给出源代码. mysql建立一个名为"vge_whu"的数

难免的尴尬:代码依赖

相关文章连接 动力之源:代码中的泵 高屋建瓴:梳理编程约定 编程之基础:数据类型(一) 编程之基础:数据类型(二) 可复用代码:组件的来龙去脉 重中之重:委托与事件 物以类聚:对象也有生命 难免的尴尬:代码依赖 12.1 从面向对象开始 12.1.1 对象基础:封装 12.1.2 对象扩展:继承 12.1.3 对象行为:多态 12.2 不可避免的代码依赖 12.2.1 依赖存在的原因 12.2.2 耦合与内聚 12.2.3 依赖造成的尴尬 12.3 降低代码依赖 12.3.1 认识抽象与具体 1

java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)

插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没 想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和服务器端交互,这个我之前没做过,因此接下来的时间里会陆续更 新这一些列的博客,记录学习的点滴.第一篇主要是java读取mysql数据库文件.安装及配置文件稍后会上传到我的百度网盘供大家下载.其他的介绍在网 上都可以找到相关的博客,下面直接给出源代码. mysql建立一个名为“vge_whu”的数据库

简单的后台数据和前台数据交互.net

最近忙着做POS项目,心血来来潮写了点小项目. 更具要求是随机显示数据并且产生的数据是可以控制的.前台交互显示能够倒叙,切每次只显示一条,页面不能超过20条超过的部分做删除. 我先展示一下前台的代码,比较简单适合初学者. 因为时间问题,这里采用的是Dbfirst 因为不能让加载页面的时候出现空数据所以在加载的时候会初始化数据到页面上 然后是ajax调用的json数据 页面的ajax 前台大概就是这样 至于后台用的是winform 我直接贴出初始化数据库的代码 using PCDD.Service

简单的登入验证

写了一个简单的登录验证过程 首先创建目录结构 model 是操作数据库表相关的 admin.py是对应于mysql 数据库中的数据库member下的admin表 utility是关于操作数据库相关的 conf.py 文件是一些配置字符串 index.py 是程序前端入口 首先index.py中的代码: #!/usr/bin/env python #coding:utf-8 from model.admin import Admin def main():     user = raw_input

C# vs MySql

MySqlHelper类 /// <summary> ///MySql操作类 /// </summary> public abstract class MySqlHelper { //数据库连接字符串 public static string Conn = "Database='RDBaoApp';Data Source='192.168.3.199';User Id='root';Password='123456';charset='utf8';pooling=true

MySql数据库连接操作

主要封装为MySqlHelper类 namespace CiWong.LearningLevelApi.MySqlHelp { /// <summary> /// MySqlHelper 类是基于.net框架开发的数据库操作类 /// </summary> public class MySqlHelper { #region 缓存Hashtable // 存储缓存参数的Hashtable private static Hashtable parmCache = Hashtable.

20181112_反射基础_对象获取

一.   C#中的反射 什么是反射:在C#中, 反射是有System.Reflection命名空间下的, 由.Net框架提供帮助类库,可以读取并使用dll(或exe)文件的metadata(元数据) 二.   反射的基本写法, 介绍 Load / LoadFile / LoadFrom: Assembly assembly = Assembly.Load("MyDB.MySql"); //通常推荐使用这一种 //第一步: 从 [当前目录] 加载指定名称的dll;dll名称无后缀 //l