| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
xb3b
10年前发布

C#操作MySQL的工具类MySqlHelper

    using System;        using System.Collections.Generic;        using System.Linq;        using System.Text;        using MySql.Data.MySqlClient;        using System.Data;        class MySqlHelper:IDisposable            {                private MySqlConnection m_conn = null;                private MySqlTransaction m_trans = null;                private bool m_tran_enabled = false;                                public MySqlHelper()                {                    m_conn = new MySqlConnection();                    m_conn.ConnectionString = "Server=localhost;Port=3301;Uid=sa;Pwd=000";                    m_conn.Open();                }                                public void BeginTrans()                {                    m_trans = m_conn.BeginTransaction();                    m_tran_enabled = true;                }                                public void Commit()                {                    if (m_trans != null && m_tran_enabled)                    {                        m_tran_enabled = false;                        m_trans.Commit();                    }                }                                public void Rollback()                {                    if (m_trans != null && m_tran_enabled)                    {                        m_tran_enabled = false;                        m_trans.Rollback();                    }                }                                public object QuerySome(string sql,int fieldindex)                {                    using (MySqlCommand cmd = new MySqlCommand(sql, m_conn))                    {                        using (MySqlDataReader sr = cmd.ExecuteReader())                        {                            if (sr.Read())                            {                                return sr.GetValue(fieldindex);                            }                        }                    }                    return null;                }                                public delegate void FillValues(MySqlDataReader sr);                                public void QuerySomes(string sql, FillValues fill)                {                    using (MySqlCommand cmd = new MySqlCommand(sql, m_conn))                    {                        using (MySqlDataReader sr = cmd.ExecuteReader())                        {                            fill(sr);                        }                    }                }                                public DataTable Source(string sql)                {                    DataTable dt = null;                    MySqlCommand cmd = null;                    MySqlDataAdapter ad = null;                    try                    {                        lock (dt = new DataTable())                        {                            cmd = new MySqlCommand(sql, m_conn);                            ad = new MySqlDataAdapter((MySqlCommand)cmd);                            dt.Clear();                            ad.Fill(dt);                        }                    }                    catch (Exception e)                    {                        throw e;                    }                    return dt;                }                                public void ExecProc(string proc, params MySqlParameter[] ps)                {                    using (MySqlCommand cmd = new MySqlCommand(proc, m_conn))                    {                        cmd.CommandType = System.Data.CommandType.StoredProcedure;                        foreach (MySqlParameter p in ps)                        {                            cmd.Parameters.Add(p);                        }                        cmd.ExecuteNonQuery();                    }                }                                void IDisposable.Dispose()                {                    m_conn.Close();                    m_conn.Dispose();                    if (m_trans != null)                    {                        m_trans.Dispose();                    }                }            }