none
杨中科老师错了?sql连接不应该用using语句 C# RRS feed

  • 问题

  • 呵呵,基本肯定是我的理解有误,他高级讲师基本不可能在这犯错!!

    我的理解是:
       用using语句块 每次都会执行 con.Database(), 这么写就没有连接池的概念了吧?每次都得重新new 一个SqlConnection 连接数据库,有效率太低了吧?
       我的理解是 Database()方法 是完全释放资源啊 Close()方法才是暂时关闭连接吧?
       我以前都是把 SqlConnection 当做一个类的字段来处理的 用完了Close()一下而已

        class SqlHelper
        {
            private static readonly string connstr = ConfigurationManager.ConnectionStrings["lkfCon"].ConnectionString;
            public int ExecuteNonQuery(string cmdText, params SqlParameter[] parameters)
            {
                //用using语句块 每次都会执行 con.Database() 这么写就 没有连接池的概念了吧?每次都得连接数据库,有效率太低了吧?
                using (SqlConnection con = new SqlConnection(connstr))
                {
                    con.Open();
                    using (SqlCommand cmd = con.CreateCommand())
                    {
                        cmd.CommandText = cmdText;
                        cmd.Parameters.AddRange(parameters);
                        return cmd.ExecuteNonQuery();
                    }                 
                 }
            }
        }


    我是半路出家,而且是自学 学的是C#语言,希望回帖的高手们留意一下,谢谢大家的帮助

    • 已移动 ThankfulHeart 2012年6月1日 12:25 数据库连接资源释放问题 (发件人:Visual C#)
    2012年6月1日 12:17

答案

全部回复