C#操作MySQL的类

public class MySqlService
{
private static log4net.ILog logger = log4net.LogManager.GetLogger(typeof(MySqlService)); //server=localhost;user id=root;password=root;persist security info=True;database=test
//Data Source=127.0.0.1;port=3306;Initial Catalog=tsyw;user id=root;password=q2ii3sfc;Charset=gbk
private string conn_str = "server=localhost;user id=root;password=q2ii3sfc;persist security info=True;database=win008"; public MySqlService()
{ }
/// <summary>
/// 构造函数
/// </summary>
/// <param name="conn_str"></param>
public MySqlService(string conn_str)
{
this.conn_str = conn_str;
} /// <summary>
/// 执行sql语句返回List-Hashtable数据集
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public List<Hashtable> Select(string sql)
{
List<Hashtable> lst = new List<Hashtable>();
using (MySqlConnection connection = new MySqlConnection(this.conn_str))
{
try
{
connection.Open();
MySqlCommand cmd = new MySqlCommand(sql, connection);
MySqlDataReader mdr = cmd.ExecuteReader();
int columnCount = mdr.FieldCount;
string _key = string.Empty;
while (mdr.Read())
{
Hashtable ht = new Hashtable();
for(int i = 0; i < columnCount; i++)
{
_key = mdr.GetName(i);
ht[_key] = mdr[i];
} lst.Add(ht);
}
mdr.Close();
connection.Close();
}
catch (Exception ex)
{
logger.Warn("执行操作语句异常, SQL:" + sql, ex);
}
}
return lst;
}
/// <summary>
///
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public System.Data.DataSet Query(string sql)
{
return null;
} /// <summary>
/// 执行操作语句 delete/insert/update
/// <para>返回影响行数</para>
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public int Execute(string sql)
{
int rest = 0;
using (MySqlConnection connection = new MySqlConnection(this.conn_str))
{
try
{
connection.Open();
MySqlCommand cmd = new MySqlCommand(sql, connection);
rest = cmd.ExecuteNonQuery();
rest = (int)(cmd.LastInsertedId>0?cmd.LastInsertedId:rest); connection.Close();
}
catch (Exception ex)
{
logger.Warn("执行操作语句异常, SQL:" + sql, ex);
}
} return rest;
} public Hashtable FetchRow(string sql)
{
Hashtable ht = new Hashtable();
using (MySqlConnection connection = new MySqlConnection(this.conn_str))
{
try
{
connection.Open();
MySqlCommand cmd = new MySqlCommand(sql, connection);
MySqlDataReader mdr = cmd.ExecuteReader();
int columnCount = mdr.FieldCount;
string _key = string.Empty;
while (mdr.Read())
{
for (int i = 0; i < columnCount; i++)
{
_key = mdr.GetName(i);
ht[_key] = mdr[i];
}
break;
}
mdr.Close();
connection.Close();
}
catch (Exception ex)
{
logger.Warn("执行操作语句异常, SQL:" + sql, ex);
}
}
return ht;
} /// <summary>
/// 获取语句第一行第一列数据
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public T FetchFirst<T>(string sql) {
T t;
using (MySqlConnection connection = new MySqlConnection(this.conn_str))
{
try
{
connection.Open();
MySqlCommand cmd = new MySqlCommand(sql, connection);
t = (T)cmd.ExecuteScalar();
connection.Close();
}
catch (Exception ex)
{
t = default(T);
logger.Warn("执行操作语句异常, SQL:" + sql, ex);
}
}
return t;
} /// <summary>
/// 检查链接是否OK
/// </summary>
/// <returns></returns>
public bool Ping()
{
bool rest = false;
using (MySqlConnection connection = new MySqlConnection(this.conn_str))
{
try
{
connection.Open();
MySqlCommand cmd = new MySqlCommand("select 1", connection);
cmd.ExecuteScalar();
connection.Close();
rest = true;
}
catch
{
rest = false;
}
} return rest;
} }
C#操作MySQL的类
[C#cāozuò MySQL de lèi]
C# operation MySQL class
 

C#操作MySQL的类的更多相关文章

  1. [node.js学习]为node.js写的一个操作mysql的类

    不支持一个对象在不同异步中使用,模仿的php框架 speedphp中的model模块 GaryMysql.js var mysql = require('mysql'); var pool = nul ...

  2. 自制php操作mysql工具类(DB.class.php)

    DB.class.php <?php class DB{ //主机地址 var $host; //用户名 var $username; //密码 var $password; //数据库名 va ...

  3. php实现简单链式操作mysql数据库类

    <?php $dbConfig = require_once(dirname(__FILE__).'/config.php'); class Db{     public $conn;      ...

  4. 构建操作mysql的类

    <?phpclass PdoMySQL{ public static $config=array();//设置连接参数,配置信息 public static $link=null;//保存连接标 ...

  5. node简单操作mysql的类

    Creative.js 'use strict'; var pool = require('../utils/MysqlUtils'); var util = require('util'); var ...

  6. 7、TypeScript类型、接口、类、泛型综合使用 -- TypeScript封装统一操作Mysql Mongodb Mssql的底层类库。

    功能:定义一个操作数据库的库,支持Mysql Mssql Mongodb 要求:Mysql Mssql Mongodb功能一样 都有add.update.delete.get方法 注意:约束统一的规范 ...

  7. php三种方式操作mysql数据库

    php可以通过三种方式操作数据库,分别用mysql扩展库,mysqli扩展库,和mysqli的预处理模式分别举案例加以说明 1.通过mysql方式操作数据库 工具类核心代码: <?php cla ...

  8. LightMysql:为方便操作MySQL而封装的Python类

    原文链接:http://www.danfengcao.info/python/2015/12/26/lightweight-python-mysql-class.html mysqldb是Python ...

  9. .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper

    .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 參考演示样例代码,例如以下所看到的: /// <summary> /// MySql ...

随机推荐

  1. java实现人民币数字转大写(转)

    原文:http://www.codeceo.com/article/java-currency-upcase.html 0 希望转换出来的结果为: 零元零角零分 1234 希望转换出来的结果为: 壹仟 ...

  2. docker运行镜像报错:"write init-p: broken pipe"

    docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting cont ...

  3. 【.NET】 HTTP协议之webrequest

    零——简介 一.GET 二.POST emmm在post这里在了很多跟头,记忆很深刻. 2.1 传json的Post:简单粗暴的两个参数 一个是网址(接口),一个是json数据 分为了六个步骤  : ...

  4. 解决 IntelliJ IDEA Tomcat 控制台中文输出乱码问题

    解决办法 找到安装IDEA的bin目录将idea.exe.vmoptions和idea64.exe.vmoptions两个文件打开分别在文件最末尾添加-Dfile.encoding=UTF-8

  5. 如何在Linux 中获取硬盘分区或文件系统的UUID?

    作为一个 Linux 系统管理员,你应该知道如何去查看分区的 UUID 或文件系统的 UUID.因为现在大多数的 Linux 系统都使用 UUID 挂载分区.你可以在 /etc/fstab 文件中可以 ...

  6. Jquery小功能实例

    下拉框内容选中左右移动 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sele ...

  7. 51nod1268 和为K的组合(DFS)

    1268 和为K的组合  基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K.如果可以 ...

  8. 如何在Qt中使用自定义数据类型

    这里我们使用下面这个struct来做说明(这里不管是struct还是class都一样): struct Player { int number; QString firstName; QString ...

  9. Mac appStore下载软件报500错误的解决方法

    Step1.打开"启动台": Step2:打开"其他": Step3:打开"终端": Step4:复制如下代码,主要不要作任何更改,不要有多 ...

  10. markdown test2

    #home { width: auto; margin: 0 80px 0 0; } mkdir test. #include <msxml6.h> // 含有 MSXML最新版 #inc ...