多类型数据库操作类-工厂类

//==================================================
// 作 者:文渊
// 日 期:2012/03/06
// 描 述:介绍本文件所要完成的功能以及背景信息等等
//==================================================

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EFWCoreLib.CoreFrame.DbProvider
{
/// <summary>
/// 创建数据库操作对象
/// </summary>
public class FactoryDatabase
{
/// <summary>
/// 默认数据库
/// </summary>
/// <returns></returns>
public static AbstractDatabase GetDatabase()
{
AbstractDatabase _oleDb = null;
_oleDb = new EntLibDb();
//string dbtype = System.Configuration.ConfigurationManager.AppSettings["DbType"].ToString();//获取默认数据库连接
//switch (dbtype)
//{
// case "SqlServer":
// _oleDb.DbType = DatabaseType.SqlServer2005;
// break;
// case "SqlServer2000":
// _oleDb.DbType = DatabaseType.SqlServer2000;
// break;
// case "Oracle":
// _oleDb.DbType = DatabaseType.Oracle;
// break;
// case "MySQL":
// _oleDb.DbType = DatabaseType.MySQL;
// break;
// case "IbmDb2":
// _oleDb.DbType = DatabaseType.IbmDb2;
// break;
// case "MsAccess":
// _oleDb.DbType = DatabaseType.MsAccess;
// break;
// default:
// _oleDb.DbType = DatabaseType.UnKnown;
// break;
//}
return _oleDb;
}

/// <summary>
/// 不同数据库之间切换
/// </summary>
/// <param name="dbkey"></param>
/// <returns></returns>
public static AbstractDatabase GetDatabase(string dbkey)
{
if (string.IsNullOrEmpty(dbkey))
throw new Exception("没有数据库Key!");

AbstractDatabase _oleDb = new EntLibDb(dbkey);

//string dbtype = System.Configuration.ConfigurationManager.AppSettings["DbType"].ToString();//获取默认数据库连接
//switch (dbtype)
//{
// case "SqlServer":
// _oleDb.DbType = DatabaseType.SqlServer2005;
// break;
// case "SqlServer2000":
// _oleDb.DbType = DatabaseType.SqlServer2000;
// break;
// case "Oracle":
// _oleDb.DbType = DatabaseType.Oracle;
// break;
// case "MySQL":
// _oleDb.DbType = DatabaseType.MySQL;
// break;
// case "IbmDb2":
// _oleDb.DbType = DatabaseType.IbmDb2;
// break;
// case "MsAccess":
// _oleDb.DbType = DatabaseType.MsAccess;
// break;
// default:
// _oleDb.DbType = DatabaseType.UnKnown;
// break;
//}
return _oleDb;
}

public static void TestDbConnection()
{
GetDatabase().TestDbConnection();
}
}

/// <summary>
/// 数据库类别
/// </summary>
public enum DatabaseType
{
/// <summary>未指定数据库</summary>
UnKnown,
/// <summary>IBMDB2数据库</summary>
IbmDb2,
/// <summary>SqlServer2000数据库</summary>
SqlServer2000,
/// <summary>SqlServer2005数据库</summary>
SqlServer2005,
/// <summary>Access数据库</summary>
MsAccess,
/// <summary>MySQL数据库</summary>
MySQL,
/// <summary>Oracle数据库</summary>
Oracle,
/// <summary>
/// 中间件
/// </summary>
MidLinkDB
}
}

时间: 2024-10-02 09:07:28

多类型数据库操作类-工厂类的相关文章

C#数据库操作通用方法类

平时使用的数据库操作类整理更新后备份,记录下来以供以后使用,并顺便分享给大家一起交流.直接上源码: 整个底层操作方法分为4个类,基础方法类:SqlBase 基础工具类:SqlTool 日志类:DbLog  和MSSQL操作类:MsSqlHelper. 由于平时工作未用到其他类型数据库,因此未整理其他数据库的操作类,以后用到的话会进行更新. 首先是通用的数据库底层操作方法整理: /// <summary> /// 数据库操作基础方法类 /// </summary> public cl

程序中数据库的操作历史和对数据库操作的实体类注意事项

稍微了解一下程序中数据库操作历史吧! 1.首先是JDBC连接 2.c3p0 3.JPA JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. 4.hibernate 实现了全自动的ORM(对象关系映射) 数据持久化:用户只需要操作对象即可,内部将对象最终转化为sql. 结果集映射:将sql执行后的结果自动的映射为对象 缺点: 耗费内存 会形成冗余的sql,执行的效率较低

数据库操作通用方法类

public class DbMethods { /// <summary> /// 获取数据库 /// </summary>zlf 2014-12-11 /// <param name="dbCode">用户:u 项目:p 捐赠:d 公共:c 活动:a 日志:l</param> public static Database GetDb(string dbCode) { Database db = null; switch (dbCode

简单数据库操作的Model类

1. [代码][PHP]代码 ? 1 2 3 4 5 <?php     define("HOSTNAME","127.0.0.1");     define("USERNAME","root");     define("PASSWORD","");     define("DATANAME","class"); 2. [代码][PHP]代

数据库操作的model类,用到了__call方法

1. [代码][PHP]代码     跳至 [1] [2] [全屏预览] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 7

C#---数据库访问通用类、Access数据库操作类、mysql类 .[转]

原文链接 //C# 数据库访问通用类 (ADO.NET)using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration; namespace XXX{    /// <summary>    /// 针对SQL Server数据库操作的通用类           /// </sum

C#---数据库访问通用类、Access数据库操作类、mysql类 .

//C# 数据库访问通用类 (ADO.NET)using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration; namespace XXX{    /// <summary>    /// 针对SQL Server数据库操作的通用类           /// </summary&

android中的数据库操作(转)

android中的数据库操作 android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作. 一.android内的数据库的基础知识介绍 1.用了什么数据库   android中采用的数据库是SQLite这个轻量级的嵌入式开源数据库,它是用c语言构建的.相关简介可以从链接查看. 2.数据库基本知识观花   对于一些和我一样还没有真正系统学习数据库技术的同学来说,把SQL92标准中的一些基本概念.基本语句快速的了解一下,是很有必要的,这样待会用Android的da

android中的数据库操作【转】

http://blog.csdn.net/nieweilin/article/details/5919013 android中的数据库操作 android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作. 一.android内的数据库的基础知识介绍 1.用了什么数据库   android中采用的数据库是SQLite这个轻量级的嵌入式开源数据库,它是用c语言构建的.相关简介可以从链接查看. 2.数据库基本知识观花   对于一些和我一样还没有真正系统学习数据库技术的同