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 ...
随机推荐
- android 开源项目学习<二>
roottools: RootTools gives Rooted developers easy access to common rooted tools... https://code.g ...
- 为一张PCI卡打通经络的过程
一张PCI卡通过“一转二”的转接卡插在主板上,probe调用失败,日志显示读取配置空间的时候发生了奇偶校验错误,可是使用相同的转接卡把它插在另外一台相同机器的主板上时,却运行正常,这就说明不是转接卡的 ...
- 通用块层、IO调度层以及设备驱动层的数据结构
http://blog.chinaunix.net/uid-28897358-id-3775640.html
- Android 接收短信
启动程序时启动一个service,在service里注册接收短信的广播,当手机收到短信里,打印出短信内容跟电话号码. package com.lmy.SmsListener; import andro ...
- linux mysql 卸载后重装
$sudo apt-get remove mysql-common清理残留数据:$sudo dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P ...
- 15 Linux Split and Join Command Examples to Manage Large Files--reference
by HIMANSHU ARORA on OCTOBER 16, 2012 http://www.thegeekstuff.com/2012/10/15-linux-split-and-join-co ...
- [转]ORACLE 绑定变量用法总结
转:http://blog.csdn.net/wanghai__/article/details/4778343 在oracle 中,对于一个提交的sql语句,存在两种可选的解析过程, 一种叫做硬解析 ...
- c语言,strcat(),字符串拼接
#include<stdio.h> #include<string.h> int main() { char destination[25]; char *zhang=& ...
- ruby gem源更换国内源gems.ruby-china.org数据源
gem sources -l gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/ 更新缓存 ge ...
- js 获取当前时间格式怎么转换?
toLocaleDateString() 得到的时间是 yyyy年MM月dd日 HH:ss:mm 格式的,怎么转换成yyyy-MM-dd HH:ss:mm 在js里面 仅针对这个问题来说,不需要那么大 ...