dbfactory.cs

来自「基于C/S的医疗卫生管理系统」· CS 代码 · 共 70 行

CS
70
字号
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Data.SqlClient;
using Oracle.DataAccess.Client;



namespace Qeb.Support.DataAccess
{
    public sealed class DBFactory
    {
        static Hashtable m_dbUtilsHT = new Hashtable();
        static Object thisLock = new Object();

        static public IDBUtils GetDBUtils(DBUtilsType dbUtilsType)
        {
            lock (thisLock)
            {
                IDBUtils dbUtils = null;
                if (m_dbUtilsHT.Contains(dbUtilsType.ToString()))
                {
                    dbUtils = (IDBUtils)m_dbUtilsHT[dbUtilsType.ToString()];
                }
                else
                {
                    string dbTypeString = AppConfig.GetValue(dbUtilsType.ToString() + "DbType").ToUpper().Trim();
                    string dbConnectString = AppConfig.GetDBConnection(dbUtilsType.ToString() + "Connection");
                    if (dbTypeString == "ORACLE")
                    {
                        dbUtils = new OracleDBUtils(dbConnectString);
                        m_dbUtilsHT.Add(dbUtilsType.ToString(), dbUtils);
                    }
                    else if (dbTypeString == "SQLSERVER")
                    {
                        throw new Exception("暂不支持SQLSERVER:" + dbUtilsType.ToString());
                    }
                    else
                    {
                        throw new Exception("未定义数据库类型:" + dbUtilsType.ToString());
                    }
                }

                return dbUtils;
            }
        }

        static public void CloseAllDB()
        {
            IDBUtils dbUtils = null;
            foreach (DictionaryEntry de in m_dbUtilsHT)
            {
                dbUtils = de.Value as IDBUtils;
                if (dbUtils != null)
                {
                    dbUtils.CloseDB();
                }
            }
        }

    }

    public enum DBUtilsType
    {
        HIS,
        LIS
    }
}

⌨️ 快捷键说明

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