回 帖 发 新 帖 刷新版面

主题:网站思路请教

请教一个问题
我想做一个网站,可以同时支持access和mssql数据库
在web.config里配置如下
  <appSettings>
    <!--数据库类型 value为1时是mssql为0时为access-->
    <add key="databaseType" value="1"/>
    <!--access数据库链接字符串-->
    <add key="access" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="/>
    <!--access数据库的相对路径-->
    <add key="accessPath" value="/App_Data/C_Cat.mdb"/>
    <!--mssql数据库链接字符串-->
    <add key="mssql" value="server=(local);uid=sa;pwd=cat;database=C_Cat"/>
  </appSettings>
在数据库操作类里可以返回链接类型如下
ACCESS的:
    public static OleDbConnection oleConn()
    {
        string ConnStr = ConfigurationManager.AppSettings["access"] + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["accessPath"]);
        OleDbConnection conn = new OleDbConnection(ConnStr);
        if (conn.State.Equals(ConnectionState.Closed))
        {
            conn.Open();
        }
        return conn;
    }
MSSQL的:
 public static OleDbConnection oleConn()
    {
        string ConnStr = ConfigurationManager.AppSettings["access"] + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["accessPath"]);
        OleDbConnection conn = new OleDbConnection(ConnStr);
        if (conn.State.Equals(ConnectionState.Closed))
        {
            conn.Open();
        }
        return conn;
    }
问题:如何根据databaseType的值判断把上面的两个方法返回的conn整合到一个方法里面?

回复列表 (共1个回复)

沙发

如果你都采用oledb连接,那直接在方法里面条件判断就可以了
如果分别采用oledb和sql两种方式连接,返回DbConnection基类

我来回复

您尚未登录,请登录后再回复。点此登录或注册