【牛腩新闻发布系统】SQLhelper重构

【前言】

          因为最近忙着评教导数据的事,又把牛腩新闻发布系统的学习放一边去了,现在导完了,回头再学牛腩,感觉我的热情减少了一大半,真是罪过。要是我的计算机学习能有英语的学习坚持那么好就好了。感觉自己都有些像一条腿走了,不快也不稳。所以还是回顾一下自己之前学的东西,找回热情。

【回顾机房重构SQLhelper】

       在机房重构里,我们也用到了SQLhelper,用了SQLhelper之后,顿时就感觉代码清晰了许多,都是根据需要调用SQLhelper类里相应的增删改查方法,代码的重复量也减少了很多,提高了代码的复用性。

【认识牛腩新闻发布系统SQLhelper类】

         很明显,牛腩新闻发布系统里的SQLhelper的作用也不可小觑,一样的是准备方法被调用,一样的是解耦和,一样的是提高代码的复用性。所以说,有了机房重构的基础,我们还担心拿不下牛腩新闻发布系统里的SQLhelper吗?

     

<span style="color:#cc6600;">/*************************************************************** 
作者:杨月娥 
类名称:SQLhelper 数据库助手类 
命名空间:DAL  
创建时间:2015/5/17 21:45:07  
版本号:V1.0 
****************************************************************/</span><span style="color:#666666;">
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using System.Configuration; 


namespace DAL
{
   
    public class SQLHelper
    {
        private SqlConnection conn = null;
        private SqlCommand cmd = null;
        private SqlDataReader sdr = null;
        public SQLHelper()
        {
            string connStr =ConfigurationManager .ConnectionStrings["connStr"].ConnectionString;
            conn =new SqlConnection(connStr );
        }
        private SqlConnection Getconn()
        {
             
            if (conn .State==ConnectionState .Closed)
            {
                conn.Open ();    
            }
            return conn;
        }
  </span><span style="color:#cc6600;">      /// <summary>
        /// 该方法执行传入的增删改SQL语句
        /// </summary>
        /// <param name="sql">要执行的增删改SQL语句</param>
        /// <returns>返回更新的记录数</returns></span><span style="color:#666666;">
        public int ExecuteNonQuery(string sql)
        {
            int res;
            try
            {
                cmd = new SqlCommand(sql, Getconn());
                res = cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {

                throw ex;
            }
            finally
            {
                if (conn .State ==ConnectionState .Open )
                {
                    conn.Close();
                }       
            }
           return res;
        }
       </span><span style="color:#cc6600;"> /// <summary>
        /// 执行带参数的SQL增删改语句
        /// </summary>
        /// <param name="sql">SQL增删改语句</param>
        /// <param name="paras">参数集合</param>
        /// <returns></returns></span><span style="color:#666666;">
        public int ExecuteNo(string sql,SqlParameter[]paras)
        { 
        int res;
        using (cmd = new SqlCommand("insert into category(name)values(@caName)", Getconn()))
        {
            cmd.Parameters.AddRange(new SqlParameter[]{
            new SqlParameter("@caName","哈哈新闻")
            });
   
            res = cmd.ExecuteNonQuery();
        }
        return res ;
        }
      </span><span style="color:#cc6600;">  /// <summary>
        /// 该方法执行带参数的SQL查询语句
        /// </summary>
        /// <param name="sql">SQL查询语句</param>
        /// <returns>参数集合</returns>
</span><span style="color:#666666;">
        public DataTable Exclect(string sql,SqlParameter[] paras)
        {
            DataTable dt = new DataTable();
            cmd = new SqlCommand(sql,Getconn());
            cmd.Parameters.AddRange(paras);
            using (sdr =cmd .ExecuteReader(CommandBehavior .CloseConnection))
            {
                dt.Load(sdr);//通过load方法把数据装入dt
            }      
                return dt;
        }
    }
}
</span>
【总结】

       SQLhelper是牛腩新闻发布系统代码中的最底层的代码部分,只有把SQLhelper敲出来了,接下来的代码才能好弄,但是我们也可以根据自己需求的变化改变SQLhelper。视频里牛腩老师不也是给SQLhelper进行了修改吗?而且在后面,他还在修改。牛腩的学习还在继续,一定要有个恒心,好好坚持,相信自己一定可以的。

你可能感兴趣的:(【牛腩新闻发布系统】SQLhelper重构)