C# accesses SqlServer tool class SqlServerHelper

大家讲道理
Release: 2016-11-10 14:56:56
Original
3350 people have browsed it

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();
            }
        }
    }
Copy after login

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template