/*
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 操作类的更多相关文章

  1. ecshop的Mysql操作类

    摘要,这是直接摘抄的ecshop的mysql操作类:不过他这里的缓存是用的文件缓存,我们如果想直接使用,可以替换成memcache的或者redis的! <?php /** * ECSHOP MY ...

  2. PHP:自己写的mysql操作类

    a{ font-weight: bold; display: block; text-align: center; color: #5887bf; font-size: 22px; } .conten ...

  3. php--->单例模式封装mysql操作类

    php 单例模式封装mysql操作类 单例模式的必要条件(三私一公) 私有的成员属性--防止类外引入这个存放对象的属性 私有的构造方法--为了防止在类外使用new关键字实例化对象 私有的克隆方法--为 ...

  4. Angular4+NodeJs+MySQL 入门-02 MySql操作类

    NodeJs操作MySQL类 此类封装了几个常用的方法:插入,更新,删除,查询,开启事务,事务提交,事务回滚等操作.有一这个类,操作MYSQL就方便多了. 批处理,存储过程等方法还没有添加,因为觉得目 ...

  5. MySQL操作类的封装(PHP)

    <?php class mysql{ /** * 报错函数 * * @param string $error */ function err($error){ die("对不起,您的操 ...

  6. mysql操作类

    同事今天推荐了一个mysql链接操作的类,地址 https://github.com/joshcam/PHP-MySQLi-Database-Class  大概看了一下,还是不错的,有点意思,先记录一 ...

  7. MySQL操作类(本人自己写的)

    package com.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepare ...

  8. PHP封装的一个单例模式Mysql操作类

    掌握满足单例模式的必要条件----三私一公. ①私有的构造方法-为了防止在类外使用new关键字实例化对象. ②私有的成员属性-为了防止在类外引入这个存放对象的属性. ③私有的克隆方法-为了防止在类外通 ...

  9. PHP值mysql操作类

    <?php /** * Created by PhpStorm. * User: Administrator * Date: 2016/6/27 * Time: 18:55 */ Class M ...

随机推荐

  1. 拍照返回的bitmap太小

    private void doPhoto(int requestCode) { if(!Environment.getExternalStorageState().equals(Environment ...

  2. PHP同时操作两个mysql数据库

    $connect=mysql_connect("localhost","root","",true); $db=mysql_select_d ...

  3. Edit显示行号

    Edit显示代码行号 关键点 使用这个类然后关联Edit的变量为 LineNumberEdit类型的 实现过程 //////////////////////////////////////////// ...

  4. UBUNTU 关闭iptables的方法

    UBUNTU没有相关的直接命令 请用如下命令 iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT tables是内核模块删除不了滴现查看一下你ipta ...

  5. 用Java对xml文档进行遍历,更新,创建,删除

    import java.io.File;import java.io.FileInputStream; import javax.imageio.stream.FileImageInputStream ...

  6. 转:FORM:客制化Form的菜单栏和右鍵菜單

    Oracle EBS还允许客制化Form的菜单栏. 用户最多可以定义45个form-level的trigger,名称必须为SPECIALn, 其中SPECIAL1 to SPECIAL15属于Tool ...

  7. 关于U3D画面出现卡顿的问题

    在U3D中,曾近遇到过卡顿的问题,下面说明解决方法 一:在关于相机移动的函数中,移动的函数不应该放在Update里面应该放到LateUpdate 二:如果最开始建立项目的时候选择的时候是3D游戏,如果 ...

  8. NHibernate中的IQueryable和IQueryover

    今天在做一个小项目时,用到了NHibernate,使用了模糊查询(Like),在后台用IQueryable去接收Session.Query<T>()的查询结果. 代码如下: /// < ...

  9. Think in java浏览一

    Think in java作为java语言的圣经书籍之一,几乎成为每个java程序员必看的书籍,不看都不好意思说自己是java程序员,不过一般也不说自己认真看了,就说自己翻了翻.作为写安卓的,当然也要 ...

  10. WildFly 9.0.2+mod_cluster-1.3.1 集群配置

    一.配置背景 最近使用WildFly 9.0.2作为中间件开发系统,给客户不熟的时候需要使用集群来进行负载均衡,一开始想到是使用Nginx.但是只通过Nginx使用 ip_hash 模式没有做到ses ...