C#操作MySQL的工具类MySqlHelper
2018-07-20 来源:open-open
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(); } } }
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇: python 给目录下的图片批量加水印
最新资讯
热门推荐