注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

薛沛然 廊坊师范学院 九期信息技术提高班

无脑地生活,像白痴一样成长,不给自己留感伤的时间。。。

 
 
 

日志

 
 

和牛腩学习设计D层类  

2013-10-03 23:40:13|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
    在牛腩的视频学习中,暂时并没有学到太多的新东西,却从牛腩对D层类的设计中学习了很多。
   1在设计实体的时候,牛腩在实体类写构造函数,在构造函数中初始化属性。
   2不一定所有的方法的返回值都使用dataset。dataset是一系列表的合集,有时使用datatable更节省资源。
   3在类似删除之类的处理型方法中,返回值使用bool
   4源代码:public  int insert(string sql)
        {

            string connStr = "Data Source=(local);Initial Catalog=Sirloin;User Id=sa;Password=123456;";
            SqlConnection conn = new SqlConnection(connStr);
            conn.Open();
            
            SqlCommand command = new SqlCommand(sql, conn);
            int res=command.ExecuteNonQuery();
            conn.Close();
            return res;
        }
        public DataTable insert(string sql)
        {
            DataTable dt = new DataTable();
            string connStr = "Data Source=(local);Initial Catalog=Sirloin;User Id=sa;Password=123456;";
            SqlConnection conn = new SqlConnection(connStr);
            conn.Open();

            SqlCommand command = new SqlCommand(sql, conn);
            SqlDataReader sdr = command.ExecuteReader();
            dt.Load(sdr);
            sdr.Close();
            conn.Close();
            return dt;
}
修改版:
 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;
        }
 public int insert(string cmdText, CommandType ct)
        {
            int res;
            try
            {
                cmd = new SqlCommand(cmdText, GetConn());
                cmd.CommandType = ct;
                res = cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return res;
        }
分析:sqlcommand ,sqlconntion和sqlreader在每个方法都必须初始化,很占内存。如果在构造函数中定义下来,随用随初始化会比较节省内存。

  评论这张
 
阅读(69)| 评论(4)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017