请问这个怎么解释?c#;

来源:百度知道 编辑:UC知道 时间:2024/06/23 00:21:13
public static DataAccess Create(string connectionName)
{
DataAccess dataAccess = null;
ConnectionStringSettings ConnSettings = ConfigurationManager.ConnectionStrings[connectionName];

if (ConnSettings == null)
{
throw new Exception("数据库连接字符串不正确!");
}

if (ConnSettings.ProviderName == "System.Data.SqlClient")
{
dataAccess = new SqlDataAccess();
}
else if (ConnSettings.ProviderName == "System.Data.OracleClient")
{
dataAccess = new OracleDataAccess();
}
else if (ConnSettings.ProviderName == "System.Data.Odbc")
{
dataAccess = new OdbcDataAccess();
}
else if (ConnSettings.ProviderName == "Sy

这个是初始化数据库操作对象的,也就是说可以让这个程序同时支持多个数据库,比如可以支持access,oracle,sql server等。
下面进行实例化的地方就是具体的操作步骤,比如判断ConnSettings.ProviderName是System.Data.SqlClient的话,就实例化一个sql server数据操作对象,这样程序就可以使用sql server数据库。其它的数据库类似。

题外话:这个程序应该是一个非常NB+复杂的程序,可能不适合初学者。

DataAccess一个数据库连接访问类,连接不同的数据库。

根据配置文件中数据库连接的设置,判断实例化哪个访问类.
DataAccess 八成是个抽象类: public abstract DataAccess{}

SqlDataAccess();
OracleDataAccess();
OdbcDataAccess();
...

都是自己写的类,它们都继承自DataAccess
根据不同的条件使用不同的数据库操作方法.通过这样的手段达到程序可扩展的目的.

PS 其实这是个很搞笑的写法.不太适用。