/// <summary> /// 根据数据库连接字符串以及数据库类型创建一个数据库工厂对象 /// </summary> /// <param name="connectionString">数据库连接字符串</param> /// <param name="dbType">数据库类型</param> /// <returns></returns> public static DbFactory NewInstance(string connectionString, DataBaseType.DatabaseType dbType) { if (dbFactorylist == null) { dbFactorylist = new List <DbFactory>(); } if (dbFactorylist.Count == 0) { DbFactory factory = new DbFactory(); factory.connectionString = connectionString; factory.dbType = dbType; factory.DbParmChar = factory.CreateDbParamCharacter(); dbFactorylist.Add(factory); } else { if (dbFactorylist[0].connectionString != connectionString) { dbFactorylist[0].connectionString = connectionString; dbFactorylist[0].dbType = dbType; dbFactorylist[0].DbParmChar = dbFactorylist[0].CreateDbParamCharacter(); } } return(dbFactorylist[0]); }
/// <summary> /// 根据连接类型名进行连接配置 /// </summary> /// <param name="connName"></param> public static void ConnectDB(string connName) { if (connName == null) { return; } //ConnectionStringSettings connSettings = ConfigurationManager.ConnectionStrings["Default"]; provider = "MySqlClient"; connectionString = strConn; if (provider.Contains("MySqlClient")) { dataBaseType = DataBaseType.DatabaseType.MYSQL; } else if (provider.Contains("SqlClient")) { dataBaseType = DataBaseType.DatabaseType.SQLSERVER; } dbFactory = DbFactory.NewInstance(connectionString, dataBaseType); }