1.先引用MySQL的DLL文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using MySql.Data.MySqlClient; namespace MySQLHelper
{
public static class MySqlHelper
{
//从配置文件中获取连接字符串 readonly修饰的变量只能在初始化或构造函数中赋值;其他地方只能读取
//private static readonly string constr = ConfigurationManager.ConnectionStrings["OperationHistory"].ConnectionString;
private static readonly string constr = "server=127.0.0.1;port=3306;database=mygamedb;user=root;password=root"; /// <summary>
/// 增、删、改的方法[ExecuteNonQuery] 返回所影响的行数,执行其他
/// </summary>
/// <param name="sql">Sql命令</param>
/// <param name="cmdtype">SQL语句(CommandType.Text)或者存储过程(CommandType.StoredProcedure)</param>
/// <param name="pms"></param>
/// <returns></returns>
public static int ExecuteNonQuery(string sql, CommandType cmdtype, params SqlParameter[] pms)
{
int i = -;
try
{
using (MySqlConnection con = new MySqlConnection(constr))
{
using (MySqlCommand cmd = new MySqlCommand(sql, con))
{
//存储过程或者Sql语句
cmd.CommandType = cmdtype;
if (pms != null)
{
cmd.Parameters.AddRange(pms);
} con.Open();
i = cmd.ExecuteNonQuery();
}
}
}
catch (Exception)
{
throw;
} return i;
} /// <summary>
/// 执行查询、查询多少条数据;返回第一行,第一列方法[ExecuteScalar] 返回-1执行失败
/// </summary>
/// <param name="sql">Sql命令</param>
/// <param name="cmdtype">SQL语句(CommandType.Text)或者存储过程(CommandType.StoredProcedure)</param>
/// <param name="pms"></param>
/// <returns></returns>
public static object ExecuteScalar(string sql, CommandType cmdtype, params SqlParameter[] pms)
{
try
{
using (MySqlConnection con = new MySqlConnection(constr))
{
using (MySqlCommand cmd = new MySqlCommand(sql, con))
{
//存储过程或者Sql语句
cmd.CommandType = cmdtype;
if (pms != null)
{
cmd.Parameters.AddRange(pms);
} con.Open();
return cmd.ExecuteScalar();
}
}
}
catch (Exception)
{
throw;
}
} /// <summary>
/// 执行查询,返回多行、多列的方法ExecuteReader()
/// </summary>
/// <param name="sql">Sql命令</param>
/// <param name="cmdtype">SQL语句(CommandType.Text)或者存储过程(CommandType.StoredProcedure)</param>
/// <param name="pms"></param>
/// <returns></returns>
public static MySqlDataReader ExecuteReader(string sql, CommandType cmdtype, params SqlParameter[] pms)
{
using (MySqlConnection con = new MySqlConnection(constr))
{
using (MySqlCommand cmd = new MySqlCommand(sql, con))
{
//存储过程或者Sql语句
cmd.CommandType = cmdtype;
if (pms != null)
{
cmd.Parameters.AddRange(pms);
} try
{
con.Open();
return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
catch
{
con.Close();
con.Dispose();
throw;
}
}
}
} /// <summary>
/// 执行返回多个查询时使用,返回DataTable类型
/// </summary>
/// <param name="sql">Sql命令</param>
/// <param name="cmdtype">SQL语句(CommandType.Text)或者存储过程(CommandType.StoredProcedure)</param>
/// <param name="pms">参数</param>
/// <returns></returns>
public static DataTable ExecuteDataTable(string sql, CommandType cmdtype, params SqlParameter[] pms)
{
DataTable dt = new DataTable();
try
{
//通过adapter读取数据。
using (MySqlDataAdapter adapter = new MySqlDataAdapter(sql, constr))
{
adapter.SelectCommand.CommandType = cmdtype;
if (pms != null)
{
adapter.SelectCommand.Parameters.AddRange(pms);
} adapter.Fill(dt);
return dt;
}
}
catch (Exception)
{
throw;
}
} /// <summary>
/// 需要获得多个结果集的时候用该方法,返回DataSet对象。
/// </summary>
/// <param name="sql语句"></param>
/// <returns></returns> public static DataSet ExecuteDataSet(string sql, params SqlParameter[] paras)
{
using (MySqlConnection con = new MySqlConnection(constr))
{
//数据适配器
MySqlDataAdapter sqlda = new MySqlDataAdapter(sql, con);
sqlda.SelectCommand.Parameters.AddRange(paras);
DataSet ds = new DataSet();
sqlda.Fill(ds);
return ds;
//不需要打开和关闭链接.
}
}
}
}

MySql数据封装操作类的更多相关文章

  1. php : mysql数据库操作类演示

    设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...

  2. php MySQL数据库操作类源代码

    php MySQL数据库操作类源代码: <?php class MySQL{ private $host; //服务器地址 private $name; //登录账号 private $pwd; ...

  3. 设计模式 - 单例模式mysql数据库操作类

    待续... index.php 调用方法: <?php header('Content-Type:text/html; charset=utf8'); require 'instance.php ...

  4. MySQL数据库操作类(PHP实现,支持连贯操作)

    <?php /** * Author: suvan * CreateTime: 2018/2/27 * description: 数据库操作类(仅对接MySQL数据库,主要利用MySQLi函数) ...

  5. php pdo mysql数据库操作类

    <?php namespace iphp\core; use iphp\App; /** * 数据库操作基类 基于pdo * @author xuen * 支持链式操作,支持参数绑定 * 说明1 ...

  6. DELPHI XE MYSQL数据库操作类 MYSQLHELPER

    注: 无需odbc配置 {* * MySQL Helper v1.0 * 2015.6.19 * 说明: * 这是一个操作MySQL的类,该类必须和libmysql.dll,dbxmys.dll两个文 ...

  7. 一个比较常用的关于php下的mysql数据操作类

    <?php /************************************************************* MySql类封装: 首先连接数据库,需要有参数 参数如何 ...

  8. php 封装mysql 数据库操作类

    <?phpheader('content-type:text/html;charset=utf-8');//封装mysql   连接数据库php_mysql//封装mysql   连接数据库ph ...

  9. C# MySQL 数据库操作类

    using System; using System.Configuration; using System.Collections; using System.Data; using MySql.D ...

随机推荐

  1. C++ 定义一个指针类型

    #include <iostream>using namespace std; int main(){ int a= 10;  //定义变量a int * p ; //定义个指针P p = ...

  2. CF1109F Sasha and Algorithm of Silence's Sounds LCT、线段树

    传送门 构成一棵树可以分成两个限制:图不成环.图的点数-边数=1. 我们考虑枚举右端点\(r\)计算所有可能的左端点\(l\)的答案.我们先考虑第一个限制:图不成环.注意到当\(r\)确定的时候,满足 ...

  3. 计算几何-凸包算法 Python实现与Matlab动画演示

    凸包算法是计算几何中的最经典问题之一了.给定一个点集,计算其凸包.凸包是什么就不罗嗦了 本文给出了<计算几何——算法与应用>中一书所列凸包算法的Python实现和Matlab实现,并给出了 ...

  4. mysql 删除表中多余的重复记录

    =============================================== 2019/7/16_第1次修改                       ccb_warlock == ...

  5. 全栈项目|小书架|微信小程序-登录回调及获取点赞列表功能

    效果图 这一节介绍,登录回调 以及 喜欢列表 的实现. 登录回调:这里是指在获取登录完成之后,再进行下一步的操作. 比如效果图中我的页面,默认是未登录状态,积分和喜欢列表的数量都没有获取到. 而登录成 ...

  6. idea 添加 VUE 的语法

    1,首先我们先让 HTML 文件支持 VUE 的语法指令提示 2,File -> Setting -> Edit -> Inspections -> html 3.加入以下: ...

  7. JAVA调用ORACLE存储过程时间类型参数没有日期

    是因为使用cs.setDate()给数据库传参数只会传日期部分.如果改用如下代码就可以: cs.setTimestamp(3, new java.sql.Timestamp(dKssj.getTime ...

  8. 定时任务-Windows任务

    定时任务-Windows任务   什么是windows任务 windows系统自带一个任务管理组件.可以执行自己写的程序,发送电子邮件(需要邮件服务器),显示消息(就是桌面弹出一个窗口).用的最多的就 ...

  9. Eclipse创建ssm项目

    1.创建Maven项目 2.勾选上面的 3.打成war包的形式 4.配置webapp.xml  Project Facets——Dynamic Wed Module 2.5 ——然后点击下面的提示 5 ...

  10. java基础 Arrays

    package cn.mantishell.day08.demo04; import java.util.Arrays; /** * java.util.Arrays是一个与数组相关的工具类,里面提供 ...