• C#多数据库组件包,支持MSSQL+Oracle+MySQL+用户操作手册|C/S开发框架


      C#多数据库组件包支持MSSQL+Oracle+MySQL+用户操作手册|C/S框架网

    C#多数据库组件包支持MSSQL+Oracle+MySQL+用户操作手册|C/S框架网
     
     

    我们在开发软件过程中,特别是基于数据管理应用相关的系统,一般采用一种数据库,如Microsoft SQL Server,超大型系统有的使用Oracle,部分Web系统采用开源的MySQL等,由于各种业务场景以及用户需求,促使我们的数据库系统部署在不同类型的数据库服务器上。若开发的系统能支持多种数据库的快速切换,可以为我们减少很多烦恼,同时提高系统的适应性、兼容性以及可扩展性。

     
    C/S框架网为广大用户定制开发一套基于C#语言的多数据库组件包,以及用户操作手册。
     

    C#语言多数据库组件包(支持MSSQL+Oracle+MySQL)
     
    CSFramework.DB.realease.rar
     
     
    贴图图片
     

     
    《CSFramework.DB用户操作手册》.pdf
     
     

    基于C#语言多数据库组件包及用户操作手册
     
     


    C# Code:

    /// <summary>
    /// IDatabase数据库接口
    /// </summary>
    public interface IDatabase : IAdoFactory
    {
       int DefaultPort { get; }
       
       int CommandTimeout { get; }
       
       int ConnectionTimeout { get; }
       
       Type DateTimeType { get; }
       
       DateTime GetServerTime();
       
       String ConnectionString { get; set; }
       
       DbTransaction TransBegin();
       
       void TransCommit(DbTransaction trans, bool closeConnection = false);
       
       void TransRollback(DbTransaction trans, bool closeConnection = false);
       
       DataSet GetDataSet(string SQL);
       
       DataSet GetDataSet(DbCommand cmd);
       
       DataSet GetDataSet(string text, CommandType type, IDataParameter[] paras);
       
       DataTable GetTable(string SQL, string tableName = "");
       
       DataTable GetTable(DbCommand cmd, string tableName = "");
       
       DataRow GetDataRow(string SQL);
       
       int ExecuteSQL(string SQL);
       
       int ExecuteCommand(DbCommand cmd);
       
       object ExecuteScalar(string SQL);
       
       object ExecuteScalar(DbCommand cmd);
       
       DbDataReader ExecuteReader(string SQL);
       
       DbDataReader ExecuteReader(DbCommand cmd);
       
       List<T> ExecuteReader<T>(string SQL, Func<DbDataReader, T> action) where T : new();
       
       List<T> ExecuteReader<T>(DbCommand cmd, Func<DbDataReader, T> action) where T : new();
       
       T ExecuteReader<T>(DbCommand cmd) where T : new();
       
       T ExecuteReader<T>(string SQL) where T : new();
       
       int ExecuteTrans(DbTransaction trans, string SQL);
       
       void Close(DbConnection connection);
    }

    //来源:C/S框架网(www.csframework.com) QQ:23404761



    C# Code:

    /// <summary>
    /// ADO(ActiveX Data Object)ADO.NET活动数据对象工厂
    /// </summary>
    public interface IAdoFactory
    {
       string BuildConnectionString(string server, int port, string dbName, string uid, string pwd, int timeout = 10);
       
       CommandHelper CreateSqlProc(string spName);
       
       CommandHelper CreateCommand(string commandText);
       
       /// <summary>
       /// DbCommand的参数符号,@,?
       /// </summary>
       string ParamSymboName { get; }
       
       DbParameter CreateTimestampParameter(string parameterName, string fieldName);
       
       DbConnection CreateConnection();
       
       DbConnection CreateConnection(string connectionString);
       
       DbCommand CreateCommand(string commandText, CommandType commandType);
       
       DbParameter CreateParameter(string parameterName, object parameterValue);
       
       DbCommandBuilder CreateCommandBuilder();
       
       DbDataAdapter CreateDataAdapter();
       
       DbDataAdapter CreateDataAdapter(AdapterRowUpdatingEvent eventHandler);
       
    }

    //来源:C/S框架网(www.csframework.com) QQ:23404761

     
     

    C# Code:


    /// <summary>
    /// 数据库对象工厂
    /// </summary>
    public static class DatabaseFactory
    {
       /// <summary>
       /// 创建数据库(使用DataProviderFactory创建数据存取基础组件,通用版)
       /// </summary>
       /// <param name="providerType">数据库类型</param>
       /// <param name="connectionString">数据库连接字符串</param>
       /// <returns></returns>
       public static IDatabase CreateMDB(DatabaseType providerType, string connectionString)
       {
          return new DatabaseMDB(providerType, connectionString);
       }
       
       /// <summary>
       /// 创建SQL Server数据库
       /// </summary>
       /// <param name="connectionString">数据库连接字符串</param>
       /// <returns></returns>
       public static IDatabase CreateSqlDatabase(string connectionString)
       {
          return new DatabaseMSSQL(connectionString);
       }
       
       /// <summary>
       /// 创建MySQL数据库
       /// </summary>
       /// <param name="connectionString">数据库连接字符串</param>
       /// <returns></returns>
       public static IDatabase CreateMySqlDatabase(string connectionString)
       {
          return new DatabaseMySQL(connectionString);
       }
       
       /// <summary>
       /// 创建Oracle数据库
       /// </summary>
       /// <param name="connectionString">数据库连接字符串</param>
       /// <returns></returns>
       public static IDatabase CreateOracleDatabase(string connectionString)
       {
          return new DatabaseOracle(connectionString);
       }
       
       /// <summary>
       /// 创建数据库
       /// </summary>
       /// <param name="dbType">数据库类型</param>
       /// <param name="connectionString">数据库连接字符串</param>
       /// <returns></returns>
       public static IDatabase CreateDatabase(DatabaseType dbType, string connectionString)
       {
          if (dbType == DatabaseType.SqlServer)
          return new DatabaseMSSQL(connectionString);
          if (dbType == DatabaseType.MySQL)
          return new DatabaseMySQL(connectionString);
          if (dbType == DatabaseType.Oracle)
          return new DatabaseOracle(connectionString);
          throw new Exception("未支持的数据库类型!");
       }
       
       /// <summary>
       /// 创建数据库
       /// </summary>
       /// <param name="dbType">数据库类型</param>
       /// <param name="connectionString">数据库连接字符串</param>
       /// <returns></returns>
       public static IDatabase CreateDatabase(string dbType, string connectionString)
       {
          DatabaseType databaseType;
          if (!Enum.TryParse<DatabaseType>(dbType, true, out databaseType))
          throw new Exception("不支持的数据库类型!");
          
          if (databaseType == DatabaseType.SqlServer)
          return new DatabaseMSSQL(connectionString);
          if (databaseType == DatabaseType.MySQL)
          return new DatabaseMySQL(connectionString);
          if (databaseType == DatabaseType.Oracle)
          return new DatabaseOracle(connectionString);
          throw new Exception("未支持的数据库类型!");
       }
       
       /// <summary>
       /// ADO组件工厂
       /// </summary>
       /// <param name="dbType">数据库类型</param>
       /// <param name="connectionString">数据连接字符串</param>
       /// <returns></returns>
       public static IAdoFactory GetADOFactory(DatabaseType dbType, string connectionString)
       {
          return CreateDatabase(dbType, connectionString);
       }
    }

    //来源:C/S框架网(www.csframework.com) QQ:23404761

     
    相关文章:
     
    如何使用多数据库IDatabase接口以及数据访问层应用
     
     
     

     
     
  • 相关阅读:
    Wireshark协议分析1
    网络的怎么连接的-浏览器
    navicat 快捷键
    jekins—持续集成
    【Back to Basics】查询区间 $a[0, r)$ 上大于等于 $k$ 的数有多少个
    【面试向】从洗牌算法说起
    【经典问题】maximum subset sum of vectors
    Codeforces 1209D Cow and Snacks
    Maximum XOR Sum 系列问题
    【C++ 补习】Copy Control
  • 原文地址:https://www.cnblogs.com/jonnysun/p/10419854.html
Copyright © 2020-2023  润新知