DotNet开发中关于SQLServer连接的两种方法之比较

 

    在.net中关于SQL Server有两种打开连接的方式,一种是在System.Data.SqlClient命名空间下,相信很多人都是用这里面的方法进行编程的,还有一种是在Microsoft.ApplicationBlocks.Data.SqlHelper命名空间下,方法大致相同,为什么会有两个不同的空间提供相似的功能呢?

    微软在推出.net体系时默认附带了System和Microsoft两个命名空间,Microsoft命名空间正是System命名空间的有力补充,即以当前讨论的话题而言,倘若以System.Data.SqlClient进行编程,将需要用到SqlCommand还有SqlDataAdapter等,需要自己管理数据库的打开和关闭,例如

cn.open();               //打开数据库连接
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);      //数据集关闭时同时关闭连接
dr.Close();               //关闭数据集(同时也关闭了数据库连接)

    然而在Microsoft.ApplicationBlocks.Data.SqlHelper命名空间下根本不用管,同样的操作

SqlDataReader dr = SqlHelper.ExecuteReader(cn,CommandType.Text,querySql);

    两相对照,下一种更称心不是吗?

    既然在微软的体系下编程,最佳选择当然是最大限度的利用微软所提供的东西,.net体系下的Microsoft命名空间可看作是微软对.net提供的基本功能的一个二次开发产品一样,它进一步优化的功能,自然不限于在数据库开发这一部分,还要多花时间好好研究,呵呵难得的是,这个产品还是开源的,有兴趣者可以去msdn上下载,现在已经到2.0版本了.

    愿对此有深刻见解者有教于我.

posted on 2005-06-13 09:30  Eric Zhang  阅读(525)  评论(0编辑  收藏  举报

导航