加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 17:57:14 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 SqlHelper其实是我们自己编写的一个类,使用这个类目的就是让使用者更方便、更安全的对数据库的操作,既 是除了在SqlHelper类以外的所有类将不用引用

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

SqlHelper其实是我们自己编写的一个类,使用这个类目的就是让使用者更方便、更安全的对数据库的操作,既
是除了在SqlHelper类以外的所有类将不用引用对数据库操作的任何类与语句,无须担心数据库的连接与关闭的问题。
{ 
    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,GetConn()); 
                Cmd.CommandType = CmdType; 
                Cmd.Parameters.AddRange(Parameters); 
                dt.Load(Sqlsdr); 
            } 
            return dt; 
        } 
    } 
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读