想配置一个app.config文件,用来根据用户正在使用的数据库类型类,决定使用哪一个数据库。
比如现在有SQL和mySQL两种数据库,具体应该怎么写?
写完了以后在程序里面是如何使用的?

解决方案 »

  1.   

    <add key="db1" value="xxxxx" />
        
        <add key="db2" value="xxxxxxxxxx"/>  在你的程序里判断用哪个节点.
      

  2.   

    或者你再加一个key,表示数据库类型的,如value为1就是sql,为2就是mysql,这样你就可以自己灵活控制了
      

  3.   

    <add key="ConString" value="Data Source=localhost;uid=*;pwd=*;Initial Catalog=*"></add>代码获取config连接字符串
    System.Configuration.ConfigurationSettings.AppSettings["ConString"].ToString
      

  4.   

    ADO.NET 2.0提供了一些用于通用数据访问功能开发的新的类(这些在ADO.NET 1.0或1.1中是没有的),如DbConnection、DbCommand等,这些都被组织在System.Data.Common命名空间中。要开发数据库无关的数据访问代码,首先应使用DbProviderFactory类创建一个新的数据库提供器工厂对象:在这段代码中,因为我们传入的参数是System.Data.SqlClient,因此生成的factory对象将包括SQL Server数据库提供器工厂(术语“工厂”是指为你构建其他类的类)。在实践中,System.Data.SqlClient字符串参数是保存在配置文件中的,以使你编写的C#代码并不知道使用的是什么数据库。数据库提供器工厂类能够通过它的CreateConnection()方法创建一个特定的数据库连接对象。因此,可以继续使用通用DbConnection来代替特定连接对象:因此实际上,如果后端的数据库是SQL server,那连接对象实际包含的是SqlCommand对象,如果后端的数据库是Oracle,那就是OracleCommand。然而,我们的程序并非是基于SqlCommand或OracleCommand对象编写的,只是简单使用DbCommand,让它在运行时自己决定在后台要创建哪种类型的对象。
      

  5.   

    同意2楼和5楼的做法.
    <configuration>
    <appSetting>
    <add key="connectinServer" value="server=(local);user id=sa;pwd=sa;
    Database=test1></add>
    <add key="connectinMysql" value="Data Source=Mysql;user=root;passward=root"></add>
    </appSetting>
    </configuration>根据用户的选择在代码中读取KEY或VALUE都可以,连接相应的库,