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 ...
随机推荐
- 【转】解决Cannot change version of project facet Dynamic web module to 2.5
http://blog.csdn.net/steveguoshao/article/details/38414145 我们用Eclipse创建Maven结构的web项目的时候选择了Artifact I ...
- android颜色对应的xml配置值,颜色表
网上找的一些颜色值 XML配置 <?xml version="1.0" encoding="utf-8" ?> <resources> ...
- cardslib
https://github.com/gabrielemariotti/cardslib
- mongodb地理位置索引
初始化集合(经度在前,纬度在后) ? 1 2 3 mongos> db.checkins.insert({ "_id" : "101", "lo ...
- shell if判断(曾经被一个字符串相等的判断纠结半小时,最后只是if后少了个空格!) 和 awk引用外部变量判断
一.if判断 数字: $A=12 $B=15 if(("$A"<"$B")) if(("$A"=="$B")) 字 ...
- 多线程读写共享变量时,synchronized与volatile的作用
在<effective java>中看的的知识点,在工作中确实遇到了~ keywordsynchronized能够保证在同一时刻,仅仅有一个线程能够运行某一个方法,或者某一个代码块. 同步 ...
- VOA学习-South Sudan Must Allow Aid
South Sudan Must Allow Aid The United States is gravelyconcerned by the serious escalation of the hu ...
- C#汉字转拼音首字母
输入汉字,提取其首字母: /// <summary> /// 汉字转拼音缩写 /// Code By /// 2004-11-30 /// </summary> /// < ...
- ModelSim之命令行仿真入门
下面是我们的Tcl仿真步骤:启动ModelSim SE, 首先看到在在ModelSim SE右边的窗口有ModelSim> 这样的提示符.在提示符后,顺序运行以下命令: vlib work ...
- JQuery Jplayer play无效的问题
最近折腾个H5. 用到Jplayer, 用着不错,至少兼容性强一些. 但是安卓这辆公共汽车型号实在太多.不小心上了一辆奇葩的就容易震到生活不能自理. 我在一台手机上的五六个浏览器上测试,都可以. 把该 ...