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

原创 2004年07月02日 18:45:00

    在.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版本了.

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

用DotNet开发MySql和SqlServer的简单客户端

用的外部控件:DotNetMagic,SyntaxEditor(ActiproSoftware)代码如下Form1.csusing System;using System.Drawing;using ...
  • comebaby
  • comebaby
  • 2005年12月08日 23:01
  • 1392

VS连接SQLSERVER数据库的几种方式

一、VS连接本地数据库(localdb) 注:其中TestSqlServer为数据库上下文类,默认为Defaultconnection,ConnectionString中的Data Sour...
  • abstract_js
  • abstract_js
  • 2017年11月30日 09:45
  • 168

【java并发】传统线程技术中创建线程的两种方式

传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法;二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread。这两种方式...
  • eson_15
  • eson_15
  • 2016年05月21日 17:02
  • 5639

关于实数的公理化系统之比较

希尔伯特于1899年;塔尔斯基于1936年分别提出不同的实数公理化系统,两者相距近40年。现在,实数的这两套公理系统都摆在中国互联网上了。不比不知道,一比吓一跳。 希尔伯特的实数公理系统十分复杂,难于...
  • yuanmeng001
  • yuanmeng001
  • 2018年02月06日 06:21
  • 81

DotNet如何访问mySQL数据库

  .net的数据库天然支持MSSQLServer,但是并非其他数据库不支持,而是微软基于自身利益需要,在支持、营销上推自己的数据库产品;但是作为平台战略,他并非排斥其他数据库,而是参考java体系提...
  • shanhe
  • shanhe
  • 2007年02月20日 23:39
  • 2658

DotNet访问Oracle

方法一:通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora)string strcnn = "User ID=lportal;Passwor...
  • zlz_212
  • zlz_212
  • 2007年08月01日 20:34
  • 2254

java实现线程的两种方法有什么区别?

如果一个类通过继承Thread来实现多线程的话,则不适合多个线程共享资源,而通过实现Runnable就可以做到这一点,下面给lz举个例子: Java code class MyTheard ext...
  • u010572068
  • u010572068
  • 2013年07月03日 21:52
  • 1354

QTcpSocket的使用步骤

QTcpSocket类的方法connectToHost会泄露内存,即使把调用这个方法的QTcpSocket实例delete掉,内存也不会释放!反复connectToHost会导致段错误,十分危险。必须...
  • sehanlingfeng
  • sehanlingfeng
  • 2018年02月04日 22:04
  • 8

几种常见的查找算法之比较

一、顺序查找   条件:无序或有序队列。   原理:按顺序比较每个元素,直到找到关键字为止。   时间复杂度:O(n) 二、二分查找(折半查找)   条件:有序数组   原理:查找过程从数组的中间元...
  • m372897500
  • m372897500
  • 2016年05月23日 01:07
  • 397

dotnet 下开发 COM+ 组件

转载:一、问题的提出    1、最终用户的每次请求,都将读取Mapping文件——可以通过缓存解决;    2、xxx子系统需要不断的写入Mapping文件——也可以先写入内存然后批量写入文件解决; ...
  • Jeelo
  • Jeelo
  • 2006年08月01日 20:47
  • 935
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DotNet开发中关于SQLServer连接的两种方法之比较
举报原因:
原因补充:

(最多只允许输入30个字)