熟悉ASP的人知道不管理连接SQLSERVER还是ACCESS,建立connection对象的connectionstring跟具体什么数据库无关.而在C#中必须要有什么OLEDBConnection和SQLConnection.所以一旦数据库类型改变了(如sqlserver改为 access)那么相应的源代码就要跟着改, 这样任务量非常大.而在ASP/VB 中只要改一下数据库连接就行了.不知道大家有什么好的办法?

解决方案 »

  1.   

    1)
    有好的办法啊,用接口IDbConnection = new OleDbConnection(..);
    或者 IDbConnection = new SqlConnection(...);有一大堆IDb开头的接口用.2)全部用ODBC连接数据库,只要改字符串就可 System.Data.Odbc
      

  2.   

    OLEDB已经支持很多种数据源了,也支持SQL Server
    我的数据连接是自己做的数据访问层,用的就是System.Data.OleDb,
    只要改一下数据连接就好了
    至少连SQL Server和Oracle没问题
      

  3.   

    那么odbc和(oledb,sqlserver)有什么区别呢?
      

  4.   

    那么odbc和(oledb,sqlserver)有什么区别呢?
    -----------------------------------------如果是访问 SQL Server 的数据库:
    System.Data.SqlClient 类性能最好, 但不易移植到其他数据库.
    System.Data.OleDb 类的性能次之, 但容易移植到其他支持 OleDb 的数据库, 如 Access.
    System.Data.Odbc 类的性能最差, 但可移植性最好, 只要在控制面板中配置ODBC数据源就可以访问其他数据库, 如 Sybase, FoxPro 等.
      

  5.   

    回复人: yangfanchuhai() ( ) 信誉:100  2005-9-7 17:32:19  得分: 0  
       
    把数据库连接独立出来写成一个类,供整个项目调用,这样改一个地方就行啦
    我做每个项目都是这样,再把对数据库的各种操作写成类里面的函数供调用-------------------------------------------------------------------------------能否贴一些代码上来呀?谢谢了.
      
     
      

  6.   

    www.websharp.org上的这个例子数据访问就是用工厂模式处理的。不妨参考参考