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
 
下載鏈接: https://pan.baidu.com/s/1bmzNVwQ4-F2svTLByIPaQA 密碼:fy9s
 
貼圖圖片
 

 
《CSFramework.DB用戶操作手冊》.pdf
 
下載鏈接: https://pan.baidu.com/s/1rauYthmGjHQ5T8IeLuG0Ww 密碼:1fsu
 

基於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接口以及數據訪問層應用
 
 
 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM