• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

一个自定义的C#数据库操作基础类 SqlHelper

OC/C/C++ 水墨上仙 1810次浏览

SqlHelper其实是我们自己编写的一个类,使用这个类目的就是让使用者更方便、更安全的对数据库的操作,既

是除了在SqlHelper类以外的所有类将不用引用对数据库操作的任何类与语句,无须担心数据库的连接与关闭的问题。

转自:http://blog.csdn.net/dandanzmc/article/details/9345937

{  
    public class SQLHelper  
    {  
        private string strConn = null;  
        private SqlConnection Conn = null;  
        private SqlCommand Cmd = null;  
        private SqlDataReader Sqlsdr = null;  
        public SQLHelper()  
        {  
            //利用反射连接数据库  
            strConn = ConfigurationManager.ConnectionStrings["strConn"].ConnectionString;  
            //strConn = "data source=192.168.24.83;initial catalog=NewsSystem;user id=sa;password=123456";  
            Conn = new SqlConnection(strConn);  
        }  
  
        /// <summary>  
        /// 状态  
        /// </summary>  
        /// <returns>SqlConnection</returns>  
        private SqlConnection GetConn()  
        {  
            if (Conn.State == ConnectionState.Closed)  
            {  
                Conn.Open();  
            }  
            return Conn;  
        }  
  
        /// <summary>  
        /// 执行不带参数的增删改操作  
        /// </summary>  
        /// <param name="CmdText">执行的SQL语句或存储过程</param>  
        /// <param name="CmdType">类型</param>  
        /// <returns>增删改的操作数</returns>  
  
        public int ExecuteNonQuery(string CmdText, CommandType CmdType)  
        {  
            //数据库连接语句  
            int res;  
            try  
            {  
                Cmd = new SqlCommand(CmdText, GetConn());  
                Cmd.CommandType = CmdType;  
                res = Cmd.ExecuteNonQuery();  
  
            }  
            catch (Exception ex)  
            {  
  
                throw ex;  
            }  
            finally  
            {  
                if (Conn.State == ConnectionState.Open)  
                {  
                    Conn.Close();  
                }  
            }  
            return res;  
        }  
  
        /// <summary>  
        /// 执行带参数的增删改操作  
        /// </summary>  
        /// <param name="CmdText">执行的SQL语句或存储过程</param>  
        /// <param name="Parameters">参数</param>  
        /// <param name="CmdType">类型(SQL语句或存储过程)</param>  
        /// <returns>增删改的操作数</returns>  
        public int ExecuteNonQuery(string CmdText, SqlParameter[] Parameters, CommandType CmdType)  
        {  
            int res;  
            try  
            {  
                Cmd.Parameters.AddRange(Parameters);  
                Cmd = new SqlCommand(CmdText, GetConn());  
                Cmd.CommandType = CmdType;  
                res = Cmd.ExecuteNonQuery();  
            }  
            catch (Exception ex)  
            {  
  
                throw ex;  
            }  
            finally  
            {  
                if (Conn.State == ConnectionState.Open)  
                {  
                    Conn.Close();  
                }  
            }  
            return res;  
        }  
  
  
        /// <summary>  
        /// 不带参数的查询  
        /// </summary>  
        /// <param name="CmdText">执行的SQL语句或存储过程</param>  
        /// <param name="CmdType">类型</param>  
        /// <returns>查询的数据</returns>  
        public DataTable ExecuteQuery(string CmdText, CommandType CmdType)  
        {  
            DataTable dt = new DataTable();  
  
            using (Sqlsdr = Cmd.ExecuteReader(CommandBehavior.CloseConnection))  
            {  
                Cmd = new SqlCommand(CmdText, GetConn());  
                Cmd.CommandType = CmdType;  
                dt.Load(Sqlsdr);  
            }  
            return dt;  
        }  
  
        /// <summary>  
        /// 带参数的查询  
        /// </summary>  
        /// <param name="CmdText">SQL语句或存储过程</param>  
        /// <param name="Parameters">参数</param>  
        /// <param name="CmdType">类型</param>  
        /// <returns>查询的数据</returns>  
        public DataTable ExecuteQuery(string CmdText, SqlParameter[] Parameters, CommandType CmdType)  
        {  
            DataTable dt = new DataTable();  
  
            using (Sqlsdr = Cmd.ExecuteReader(CommandBehavior.CloseConnection))  
            {  
                Cmd = new SqlCommand(CmdText, GetConn());  
                Cmd.CommandType = CmdType;  
                Cmd.Parameters.AddRange(Parameters);  
                dt.Load(Sqlsdr);  
            }  
            return dt;  
        }  
    }  
}


喜欢 (0)
加载中……