C# MySql 操作类
/*
MySql 类
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
using MySql.Data;
using System.Data; namespace DbMysql
{
public class CDbMysql
{
#region 字段设置
/// <summary>
/// 数据库连接-IP地址
/// </summary>
public string db_host { set; private get; }
/// <summary>
/// 数据库连接-用户名
/// </summary>
public string db_uname { set; private get; }
/// <summary>
/// 数据库连接-密码
/// </summary>
public string db_upswd { set;private get;}
/// <summary>
/// 数据库连接-数据库名称
/// </summary>
public string db_database { set; private get; }
/// <summary>
/// 数据库连接-端口
/// </summary>
public string db_prost { set; private get; }
/// <summary>
/// 数据库连接-数据库编码
/// </summary>
public string db_charset { set; private get; }
/// <summary>
/// 数据库连接-连接句柄
/// </summary>
private MySqlConnection db_header;
/// <summary>
/// 连接字符串
/// </summary>
private string dh_con_string { set; get; } public string DbError { private set; get; }
#endregion /// <summary>
/// 构造函数
/// </summary>
/// <param name="host">主机IP</param>
/// <param name="uname">用户名</param>
/// <param name="upassword">密码</param>
/// <param name="prost">端口</param>
/// <param name="charset">编码-默认utf8</param>
public CDbMysql(string host, string uname, string upassword,string dbname, string prost, string charset = "utf8") {
this.db_host = host;
this.db_uname = uname;
this.db_upswd = upassword;
this.db_database = dbname;
this.db_prost = prost;
this.db_charset = charset;
// User Id=root;Host=localhost;Database=studb;Password=root;Port=3307
this.dh_con_string = string.Format("User Id={0};Host={1};Database={2};Password={3};Port={4}",this.db_uname,
this.db_host,this.db_database,this.db_upswd,this.db_prost
); this.DbConnection();
}
/// <summary>
/// 连接数据库
/// </summary>
private void DbConnection(){
this.db_header = new MySqlConnection(this.dh_con_string);
}
/// <summary>
/// 执行SQL语句
/// </summary>
/// <param name="QueryString"></param>
/// <returns></returns>
public int ExecuteSql(string QueryString) {
try
{
this.db_header.Open();
using (MySqlCommand comm = new MySqlCommand(QueryString, this.db_header)) {
int result = comm.ExecuteNonQuery();
this.DbClose(this.db_header);
return result; }
}
catch (MySqlException ex)
{
this.DbError = ex.Message.ToString();
return -;
}
finally
{
this.DbClose(this.db_header);
}
}
/// <summary>
/// 返回DataTable
/// </summary>
/// <param name="SqlString"></param>
/// <param name="TablName"></param>
/// <returns></returns>
public DataTable GetDataTable(string SqlString, string TablName) {
try
{
this.db_header.Open();
MySqlDataAdapter Da = new MySqlDataAdapter(SqlString, this.db_header);
DataTable dt = new DataTable(TablName);
Da.Fill(dt);
return dt;
}
catch (MySqlException ex) {
this.DbError = ex.Message.ToString();
return null;
} }
/// <summary>
/// 返回DataReader对象
/// </summary>
/// <param name="SqlString"></param>
/// <returns></returns>
public MySqlDataReader GetDataReader(string SqlString) {
try
{
this.db_header.Open();
MySqlCommand comm = new MySqlCommand(SqlString, this.db_header);
MySqlDataReader dread = comm.ExecuteReader(CommandBehavior.Default);
return dread;
}
catch (MySqlException ex)
{
this.DbError = ex.Message.ToString();
return null;
} }
/// <summary>
/// 获取DataAdapter对象
/// </summary>
/// <param name="SqlString"></param>
/// <returns></returns>
private MySqlDataAdapter GetDataAdapter(string SqlString) {
try
{
this.db_header.Open();
MySqlDataAdapter dadapter = new MySqlDataAdapter(SqlString, this.db_header);
return dadapter;
}
catch (MySqlException ex)
{
this.DbError = ex.Message.ToString();
return null;
} }
/// <summary>
/// 返回DataSet对象
/// </summary>
/// <param name="SqlString"></param>
/// <param name="TableName"></param>
/// <returns></returns>
public DataSet GetDataSet(string SqlString,string TableName) {
try
{
this.db_header.Open();
MySqlDataAdapter Da = this.GetDataAdapter(SqlString);
DataSet ds = new DataSet();
Da.Fill(ds, TableName);
return ds;
}
catch (MySqlException ex) {
this.DbError = ex.Message.ToString();
return null;
}
}
/// <summary>
/// 获取一条数据
/// </summary>
/// <param name="SqlString"></param>
/// <returns></returns>
public string GetOne(string SqlString) {
string result = null;
try
{
this.db_header.Open();
MySqlCommand comm = new MySqlCommand(SqlString, this.db_header);
MySqlDataReader dr = comm.ExecuteReader();
if (dr.Read())
{
result = dr[].ToString();
dr.Close();
}
else
{
result = null ;
dr.Close();
} }
catch (MySqlException ex) {
this.DbError = ex.Message.ToString();
}
return result;
}
/// <summary>
/// 连接测试
/// </summary>
/// <returns></returns>
public bool TestConn() {
try {
this.db_header.Open();
return true;
}
catch (MySqlException ex)
{
this.DbError = ex.Message.ToString();
return false;
}
}
/// <summary>
/// 关闭数据库句柄
/// </summary>
public void DbClose(MySqlConnection DbHeader) {
if (DbHeader != null) {
this.db_header.Close();
this.db_header.Dispose();
}; GC.Collect();
} }
}
C# MySql 操作类的更多相关文章
- ecshop的Mysql操作类
摘要,这是直接摘抄的ecshop的mysql操作类:不过他这里的缓存是用的文件缓存,我们如果想直接使用,可以替换成memcache的或者redis的! <?php /** * ECSHOP MY ...
- PHP:自己写的mysql操作类
a{ font-weight: bold; display: block; text-align: center; color: #5887bf; font-size: 22px; } .conten ...
- php--->单例模式封装mysql操作类
php 单例模式封装mysql操作类 单例模式的必要条件(三私一公) 私有的成员属性--防止类外引入这个存放对象的属性 私有的构造方法--为了防止在类外使用new关键字实例化对象 私有的克隆方法--为 ...
- Angular4+NodeJs+MySQL 入门-02 MySql操作类
NodeJs操作MySQL类 此类封装了几个常用的方法:插入,更新,删除,查询,开启事务,事务提交,事务回滚等操作.有一这个类,操作MYSQL就方便多了. 批处理,存储过程等方法还没有添加,因为觉得目 ...
- MySQL操作类的封装(PHP)
<?php class mysql{ /** * 报错函数 * * @param string $error */ function err($error){ die("对不起,您的操 ...
- mysql操作类
同事今天推荐了一个mysql链接操作的类,地址 https://github.com/joshcam/PHP-MySQLi-Database-Class 大概看了一下,还是不错的,有点意思,先记录一 ...
- MySQL操作类(本人自己写的)
package com.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepare ...
- PHP封装的一个单例模式Mysql操作类
掌握满足单例模式的必要条件----三私一公. ①私有的构造方法-为了防止在类外使用new关键字实例化对象. ②私有的成员属性-为了防止在类外引入这个存放对象的属性. ③私有的克隆方法-为了防止在类外通 ...
- PHP值mysql操作类
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2016/6/27 * Time: 18:55 */ Class M ...
随机推荐
- 动态调用DLL函数有时正常,有时报Access violation的异常
动态调用DLL函数有时正常,有时报Access violation的异常 typedef int (add *)(int a,int b); void test() { hInst=LoadL ...
- Install Package and Software
svn http://tortoisesvn.sourceforge.net/ git https://download.tortoisegit.org/ http://git-for-windows ...
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完毕測试代码)
MD5和RSA是网络传输中最经常使用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,仅仅能加密而不能解密. ...
- 多平台响应键盘事件!(适用于Cocos2dx 3.0 alpha以上版本号)
Hello everyone! For a week I've been looking on how to make a keyboard work! I managed to figure it ...
- Lucene教程具体解释
(建立索引)] )中生成的索引文件的存放地址.详细步骤简单介绍例如以下: 1.创建Directory对象,索引目录 2.创建IndexSearch对象,建立查询(參数是Directory对象) 3.创 ...
- Could not initialize class org.apache.log4j.LogManager 报错
部署项目的时候,在windows下一切正常,但是在centos下就发生如下错误 Caused by: java.lang.ExceptionInInitializerError at com.dsid ...
- css匹配原理与优化
一. 匹配原理 浏览器CSS匹配不是从左到右进行查找,而是从右到左进行查找.比如之前说的 DIV#divBox p span.red{color:red;},浏览器的查找顺序如下:先查找 html 中 ...
- open/close table on mysql
http://hidba.org/?p=170 我们知道mysql是一个支持多线程的数据库,尤其在innodb存储引擎出现后,对mysql的事务,并发,锁支持得到了极大提高.在高并发的访问的应用场 ...
- textarea限制字符数
html代码: <div class="remark_edit J_Remark_Edit"> <div class="tip-body"&g ...
- wamp配置虚拟主机
================================================================= 来源参考一:http://wenku.baidu.com/link? ...