使用asp.net 2.0版本。数据库链接字符串保存在web.config中。
<connectionStrings>
<add name="freevodConnectionString1" connectionString="Data Source=(local);Initial Catalog=free;Persist Security Info=True;User ID=fre;Password=frec" providerName="System.Data.SqlClient"/>
</connectionStrings>

解决方案 »

  1.   

    SqlConnection效率高,SqlConnection是SQL Server专用的
      

  2.   

    SqlConnection
    微软针对sql连接做了优化,更快的访问速度
      

  3.   

    DbConnection根本就是 abstract 的。
      

  4.   

    如果你写代码:
      DbConnection conn=new SqlConnection(connString);
    你说conn是什么类型的?这个问题就像是问白马和马哪个跑的更快,是很不合逻辑的。
      

  5.   

    你的那个“<connectionStrings>”中的“providerName”并没有说明白马非马,完全是你自己把它理解成只能只要说了SqlConnection就一定跟DbConnection无关。实际上,动用一点你想思维你就会想到,之所以说明providerName,正是因为实际的数据库程序是基于DbConnection的工厂类型来构造的,而不是基于SqlConnection。
      

  6.   

    哦,我觉得还有一点也是很基本的:上面的conn声明为DbConnection类型,它的“效率”和SqlConnection完全一样,因为conn的实例“就是”一个SqlConnection,只不过它使用Dbconnection所继承的接口来编译。conn声明为Dbconnection,但是它“就是”一个Sqlconnection,没有任何物理上的差别,只不过给同一套接口地址起的名字不同,就像是白马和马都是对某一匹真实的马的描述,不论使用什么类型描述,只要对象是同一个,运行时没有任何“效率”差别。
      

  7.   

    上面的conn声明为DbConnection类型,它的“效率”和SqlConnection完全一样,因为conn的实例“就是”一个SqlConnection,只不过它使用Dbconnection所继承的接口来编译。conn声明为Dbconnection,但是它“就是”一个Sqlconnection,没有任何物理上的差别,只不过给同一套接口地址起的名字不同,就像是白马和马都是对某一匹真实的马的描述,不论使用什么类型描述,只要对象是同一个,运行时没有任何“效率”差别。================
    同意!