datafactory.cs

来自「此项目是用asp.net开发的航班查询系统」· CS 代码 · 共 88 行

CS
88
字号
using System;

namespace OceanSoft.Data
{
	/// <summary>
	/// 工厂产品的列表
	/// </summary>
	public enum DataProvider
    {
        /// <summary>
        /// 基于SqlServer的数据连接
        /// </summary>
        Sql=1,
        /// <summary>
        /// 基于OleDb的数据连接
        /// </summary>
        OleDb,
        /// <summary>
        /// 基于Odbc的数据连接
        /// </summary>
        Odbc,
        /// <summary>
        /// 基于Oracle的数据连接
        /// </summary>
        Oracle
    }

	/// <summary>
	/// 默认数据配置类
	/// </summary>
	public class DataConfig
	{
        /// <summary>
        /// 默认数据驱动提供者
        /// </summary>
		public static DataProvider DefaultProvider=DataProvider.Sql;

        /// <summary>
        /// 默认数据库连接字符串
        /// </summary>
		public static string DefaultConnString=""; 
	}
	/// <summary>
	/// 数据工厂类
	/// </summary>
	public class DataFactory
	{
		private DataFactory(){}
		
		/// <summary>
		/// (静态方法)根据参数返回数据访问对象实例
		/// </summary>
		/// <param name="pProvider">访问类型</param>
		/// <param name="pConnString">连接字串</param>
		/// <returns>数据访问对象</returns>
		public static ICommonAccess GetInstance(DataProvider pProvider,string pConnString)
		{
			ICommonAccess Action=null;

			switch((int)pProvider)
			{
				case 1:
					Action=new SqlProvider(pConnString);
					break;
				case 2:
					Action=new OleDbProvider(pConnString);
					break;
				case 3:
					Action=new OdbcProvider(pConnString);
					break;
				case 4:
					Action=new OracleProvider(pConnString);
					break;
			}

			return Action;
		}
		/// <summary>
		/// 根据默认值返回数据访问对象实例
		/// </summary>
		/// <returns>数据访问对象</returns>
		public static ICommonAccess GetInstance()
		{
			return GetInstance(DataConfig.DefaultProvider,DataConfig.DefaultConnString);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?