MySQL数据库辅助类
/**
*创建人:CalvinR
*说明:数据库辅助类
**/
namespace Study.Utilities.MySql_Connect
{
/// <summary>
/// MySqlHelper 的摘要说明
/// </summary>
public class MySqlHelper
{
private MySqlConnection conn = null;
private MySqlCommand cmd = null;
private MySqlDataReader sdr;
private MySqlDataAdapter sda = null;
public MySqlHelper()
{
string connStr = ConfigurationManager.ConnectionStrings["connectString"].ConnectionString; //获取MySql数据库连接字符串
conn = new MySqlConnection(connStr); //数据库连接
} /// <summary>
/// 打开数据库链接
/// </summary>
/// <returns></returns>
private MySqlConnection Open()
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
return conn;
} /// <summary>
/// 关闭数据库链接
/// </summary>
private void Close()
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
/// <summary>
/// 执行不带参数的增删改SQL语句或存储过程
/// </summary>
/// <param name="cmdText">增删改SQL语句或存储过程的字符串</param>
/// <param name="ct">命令类型</param>
/// <returns>受影响的函数</returns>
public int ExecuteNonQuery(string cmdText, CommandType ct)
{
int res;
using (cmd = new MySqlCommand(cmdText, Open()))
{
cmd.CommandType = ct;
res = cmd.ExecuteNonQuery();
}
return res;
} /// <summary>
/// 执行带参数的增删改SQL语句或存储过程
/// </summary>
/// <param name="cmdText">增删改SQL语句或存储过程的字符串</param>
/// <param name="paras">往存储过程或SQL中赋的参数集合</param>
/// <param name="ct">命令类型</param>
/// <returns>受影响的函数</returns>
public int ExecuteNonQuery(string cmdText, MySqlParameter[] paras, CommandType ct)
{
int res;
using (cmd = new MySqlCommand(cmdText, Open()))
{
cmd.CommandType = ct;
cmd.Parameters.AddRange(paras);
res = cmd.ExecuteNonQuery();
}
return res;
} /// <summary>
/// 执行不带参数的查询SQL语句或存储过程
/// </summary>
/// <param name="cmdText">查询SQL语句或存储过程的字符串</param>
/// <param name="ct">命令类型</param>
/// <returns>查询到的DataTable对象</returns>
public DataTable ExecuteQuery(string cmdText, CommandType ct)
{
DataTable dt = new DataTable();
cmd = new MySqlCommand(cmdText, Open());
cmd.CommandType = ct;
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
return dt;
} /// <summary>
/// 执行带参数的查询SQL语句或存储过程
/// </summary>
/// <param name="cmdText">查询SQL语句或存储过程的字符串</param>
/// <param name="paras">参数集合</param>
/// <param name="ct">命令类型</param>
/// <returns></returns>
public DataTable ExecuteQuery(string cmdText, MySqlParameter[] paras, CommandType ct)
{
DataTable dt = new DataTable();
cmd = new MySqlCommand(cmdText, Open());
cmd.CommandType = ct;
cmd.Parameters.AddRange(paras);
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
return dt;
} /// <summary>
/// 执行指定数据库连接字符串的命令,返回DataSet.
/// </summary>
/// <param name="strSql">一个有效的数据库连接字符串</param>
/// <returns>返回一个包含结果集的DataSet</returns>
public DataSet ExecuteDataset(string strSql)
{
DataSet ds = new DataSet();
sda = new MySqlDataAdapter(strSql, Open());
try
{
sda.Fill(ds);
}
catch (Exception ex)
{
throw ex;
}
finally
{
Close();
}
return ds;
}
}
}
MySQL数据库辅助类的更多相关文章
- nodejs进阶(6)—连接MySQL数据库
1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...
- 当忘记mysql数据库密码时如何进行修改
因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...
- MySQL数据库和InnoDB存储引擎文件
参数文件 当MySQL示例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认情况下,MySQL实例会按照一定 ...
- 一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库
说起Oracle数据库,以前没用过Oracle不知道,但是这1年用Oracle后,发现真的是想狂吐槽,特别是那个.NET驱动和链接字符串,特别奇葩.总归是和其他数据库不一样,标新立异,不知道为何.另外 ...
- CentOS下mysql数据库常用命令总结
mysql数据库使用总结 本文主要记录一些mysql日常使用的命令,供以后查询. 1.更改root密码 mysqladmin -uroot password 'yourpassword' 2.远程登陆 ...
- [原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率
使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?在JDBC编程接口中Statement 有两个方法特别值得注意:通过使用addBatch( ...
- mysql数据库主从同步
环境: Mater: CentOS7.1 5.5.52-MariaDB 192.168.108.133 Slave: CentOS7.1 5.5.52-MariaDB 192.168. ...
- PDO连接mysql数据库
1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...
- mysql数据库开发常见问题及优化
mysql 数据库是被广泛应用的关系型数据库,其体积小.支持多处理器.开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高.在使用 mysql 的过程中不规范的 SQL 编写.非最优的 ...
随机推荐
- ASP.net中aspx与cs函数的互调
转载自:http://www.2cto.com/kf/201209/152898.html aspx前台的script函数,调用aspx.cs中后台函数: aspx: <script type= ...
- ELASTICSEARCH 中暂时移除一个节点
ELASTICSEARCH 中暂时移除一个节点 版权声明 本站原创文章 由 萌叔 发表 转载请注明 萌叔 | http://vearne.cc 前言 在维护ES集群的过程中,我们会经常遇到将某个ES实 ...
- jdbc读取百万条数据出现内存溢出的解决办法
本人在做项目实施时,我们使用的是mysql数据库,在不到一个月的时间已经有了2千万条数据,查询的时候非常慢,就写了一个数据迁移的小项目,将这两千万条数据存放到MongoDB中看效率怎么样,再读取数据时 ...
- 读取 classes下的配置文件
调用: Configure.getValue("discount.strategy.class"); 配置类: package com.util; import com.sun.j ...
- 微信中关闭网页输入内容时的安全提示 [干掉 “防盗号或诈骗,请不要输入QQ密码”]
未设置之前: 需要把域名加入白名单 设置方法:微信公共平台后台-->公众号设置--->功能设置--->填写业务域名即可.
- JQ 弹出层全屏
下载:http://sc.chinaz.com/jiaoben/150427225380.htm http://sc.chinaz.com/jiaoben/150427225380.htm
- Java设计模式(11)外观模式(Facade模式)
外观模式(Facade)的定义:为子系统中的一组接口提供一个一致的界面. Facade一个典型应用就是数据库JDBC的应用,如下例对数据库的操作: public class DBCompare { C ...
- 解决studio的URI is not registered (Setting|Language&Frameworks|Schemas and DTDs)
高高兴兴过完国庆来上班,studio一打开发现布局文件跟不进去,点进去就到了R文件里,layout的文件里 xmlns:android="http://schemas.android.com ...
- android下通过app名字打开程序(activity)链接
Version:0.9 StartHTML:-1 EndHTML:-1 StartFragment:00000099 EndFragment:00004599 1.手机遥控器模拟快捷键启动app 刚开 ...
- Obj模型功能完善(物体材质,光照,法线贴图).Cg着色语言+OpenTK+F#实现.
这篇文章给大家讲Obj模型里一些基本功能的完善,包含Cg着色语言,矩阵转换,光照,多重纹理,法线贴图的运用. 在上篇中,我们用GLSL实现了基本的phong光照,这里用Cg着色语言来实现另一钟Blin ...