天天看點

windows平台的分布式微服務解決方案(7)--IDataAccess工具介紹(資料通路)

在DeveloperSharp架構中,存在兩個非常強大的工具接口,一個是IUtility工具接口(提供一系列有用的功能),一個是IDataAccess工具接口(提供資料通路功能)。

本文将具體介紹IDataAccess。

IDataAccess所在的命名空間是:DeveloperSharp.Framework.QueryEngine。

它主要提供了如下四大功能:

(1)     執行Sql語句

(2)     執行Sp存儲過程

(3)     建立參數(輸入/輸出/傳回)

(4)     事務

它初始化的代碼如下:

using DeveloperSharp.Framework.QueryEngine;
--------------------------

   DatabaseInfo DIF;
   DIF.DatabaseType = DatabaseType.SQLServer;
   DIF.ConnectionString = "Server=localhost;Database=YZZ;Uid=sa;Pwd=123";
   IDataAccess IDA = DataAccessFactory.Create(DIF);      

下面給出一個結合“Sql語句+參數+事務”的使用示例,代碼如下:

try
            {
                //開啟事務
                IDA.TransactionBegin();

                //執行帶參數的Sql語句
                var newQuantity = IDA.CreateParameterInput("newQuantity", DbType.Int32, 506);
                var newName = IDA.CreateParameterInput("newName", DbType.String, 50, "帽子");
                IDA.SqlExecuteNonQuery("update t_Order set Quantity=@newQuantity where Id=1", newQuantity);
                IDA.SqlExecuteNonQuery("update t_Order set Quantity=@newQuantity,Name=@newName  where Id=3", newQuantity, newName);

                //完成事務
                IDA.TransactionCommit();
            }
            catch
            {
                //復原事務
                IDA.TransactionRollBack();
            }      

IDataAccess内擁有的詳細功能方法說明如下:

DatabaseType
聲明:DatabaseType DatabaseType{get;}
用途:擷取資料庫類型
傳回:DatabaseType     --  資料庫類型枚舉

ConnectionString
聲明:string ConnectionString{get;}
用途:擷取資料庫連結字元串
傳回:string    --  資料庫連結字元串

CreateParameterInput
聲明:IDataParameter CreateParameterInput(string name, DbType type, int size, object val)
用途:建立輸入參數
參數:(1)string name      --  參數名
     (2)DbType type   --  參數類型
     (3)int size        -- 參數大小
     (4)object val        --參數值
傳回:IDataParameter     --  輸入參數

CreateParameterInput
聲明:IDataParameter CreateParameterInput(string name, DbType type, object val)
用途:建立輸入參數
參數:(1)string name      --  參數名
     (2)DbType type   --  參數類型
     (3)object val        --參數值
傳回:IDataParameter     --  輸入參數

CreateParameterOutput
聲明:IDataParameter CreateParameterOutput(string name, DbType type, int size)
用途:建立輸出參數
參數:(1)string name    --參數名
     (2)DbType type    --參數類型
     (3)int size    --參數大小
傳回:IDataParameter    --  輸出參數

CreateParameterOutput
聲明:IDataParameter CreateParameterOutput(string name, DbType type)
用途:建立輸出參數
參數:(1)string name    --參數名
     (2)DbType type    --參數類型
傳回:IDataParameter    --  輸出參數

CreateParameterReturn()
聲明:IDataParameter CreateParameterReturn()
用途:建立傳回參數
參數:(無)
傳回:IDataParameter    --  傳回參數

TransactionBegin
聲明:void TransactionBegin()
用途:開啟事務
參數:(無)
傳回:(無)

TransactionCommit
聲明:void TransactionCommit()
用途:完成事務
參數:(無)
傳回:(無)

TransactionRollBack
聲明:void TransactionRollBack
用途:復原事務
參數:(無)
傳回:(無)

SqlExecuteNonQuery
聲明:int SqlExecuteNonQuery(string cmdText)
用途:執行Sql指令文本,傳回受影響的行數
參數:(1)string  cmdText     -- Sql指令文本
傳回:int    --受影響的行數

SqlExecuteNonQuery
聲明:int SqlExecuteNonQuery(string cmdText , params IDataParameter[] cmdParameters)
用途:執行Sql指令文本,傳回受影響的行數
參數:(1)string  cmdText     -- Sql指令文本
     (2)params IDataParameter[] cmdParameters    --指令參數數組
傳回:int    --受影響的行數

SpExecuteNonQuery
聲明:int SpExecuteNonQuery(string cmdText)
用途:執行Store Procedure指令文本,傳回受影響的行數
參數:(1)string  cmdText    --Store Procedure指令文本
傳回:int    --受影響的行數

SpExecuteNonQuery
聲明:int SpExecuteNonQuery(string cmdText, params IDataParameter[] cmdParameters)
用途:執行Store Procedure指令文本,傳回受影響的行數
參數:(1)string cmdText    -- Store Procedure指令文本
     (2)params IDataParameter[] cmdParameters    --指令參數數組
傳回:int        --受影響的行數

SqlExecuteReader
聲明:IDataReader SqlExecuteReader(string cmdText)
用途:執行Sql指令文本,傳回DataReader對象
參數:(1)string  cmdText    -- Sql指令文本
傳回:IDataReader    -- DataReader對象

SqlExecuteReader
聲明:IDataReader SqlExecuteReader (string cmdText, params IDataParameter[] cmdParameters)
用途:執行Sql指令文本,傳回DataReader對象
參數:(1)string  cmdText    -- Sql指令文本
     (2)params IDataParameter[] cmdParameters    --指令參數數組
傳回:IDataReader    -- DataReader對象

SpExecuteReader
聲明:IDataReader SpExecuteReader(string cmdText)
用途:執行Store Procedure指令文本,傳回DataReader對象
參數:(1)string  cmdText    -- Store Procedure指令文本
傳回:IDataReader    -- DataReader對象

SpExecuteReader
聲明:IDataReader SpExecuteReader(string cmdText, params IDataParameter[] cmdParameters)
用途:執行Store Procedure指令文本,傳回DataReader對象
參數:(1)string  cmdText    -- Store Procedure指令文本
     (2)params IDataParameter[] cmdParameters    --指令參數數組
傳回:IDataReader    -- DataReader對象

SqlExecuteScalar
聲明:object SqlExecuteScalar(string cmdText)
用途:執行Sql指令文本,傳回sum、avg、max等聚合函數計算出的值
參數:(1)string  cmdText    -- Sql指令文本
傳回:object    --聚合函數計算出的值

SqlExecuteScalar
聲明:object SqlExecuteScalar(string cmdText, params IDataParameter[] cmdParameters)
用途:執行Sql指令文本,傳回sum、avg、max等聚合函數計算出的值
參數:(1)string  cmdText    -- Sql指令文本
     (2)params IDataParameter[]  cmdParameters    --指令參數數組
傳回:object    --聚合函數計算出的值

SpExecuteScalar
聲明:object SpExecuteScalar(string cmdText)
用途:執行Store Procedure指令文本,傳回sum、avg、max等聚合函數計算出的值
參數:(1)string  cmdText    -- Store Procedure指令文本
傳回:object    --聚合函數計算出的值

SpExecuteScalar
聲明:object SpExecuteScalar(string cmdText, params IDataParameter[] cmdParameters)
用途:執行Store Procedure指令文本,傳回sum、avg、max等聚合函數計算出的值
參數:(1)string  cmdText    -- Store Procedure指令文本
     (2)params IDataParameter[] cmdParameters    --指令參數數組
傳回:object    --聚合函數計算出的值

SqlExecuteDataset
聲明:void SqlExecuteDataset(string cmdText, DataSet ds)
用途:執行Sql指令文本,擷取相應的DataSet資料集
參數:(1)string  cmdText    -- Sql指令文本
     (2)DataSet ds    --資料集對象
傳回:(無)

SqlExecuteDataset
聲明:void  SqlExecuteDataset(string cmdText, DataSet ds, string tableName)
用途:執行Sql指令文本,擷取相應的DataSet資料集
參數:(1)string  cmdText    -- Sql指令文本
     (2)DataSet ds    --資料集對象
     (3)string tableName    --資料集中的資料表名
傳回:(無)

SqlExecuteDataset
聲明:void SqlExecuteDataset(string cmdText, DataSet ds, params IDataParameter[] cmdParameters)
用途:執行Sql指令文本,擷取相應的DataSet資料集
參數:(1)string  cmdText    -- Sql指令文本
     (2)DataSet ds    --資料集對象
     (3)params IDataParameter[] cmdParameters    --指令參數數組
傳回:(無)

SqlExecuteDataset
聲明:void SqlExecuteDataset(string cmdText, DataSet ds, string tableName, params IDataParameter[] cmdParameters)
用途:執行Sql指令文本,擷取相應的DataSet資料集
參數:(1)string  cmdText    -- Sql指令文本
     (2)DataSet ds    --資料集對象
     (3)string tableName    --資料集中的資料表名
     (4)params IDataParameter[] cmdParameters    --指令參數數組
傳回:(無)

SpExecuteDataset
聲明:void SpExecuteDataset(string cmdText, DataSet ds)
用途:執行Store Procedure指令文本,擷取相應的DataSet資料集
參數:(1)string  cmdText    -- Store Procedure指令文本
     (2)DataSet ds    --資料集對象
傳回:(無)

SpExecuteDataset
聲明:void SpExecuteDataset(string cmdText, DataSet ds, string tableName)
用途:執行Store Procedure指令文本,擷取相應的DataSet資料集
參數:(1)string  cmdText    -- Store Procedure指令文本
     (2)DataSet ds    --資料集對象
     (3)string tableName    --資料集中的資料表名
傳回:(無)

SpExecuteDataset
聲明:void SpExecuteDataset(string cmdText, DataSet ds, params IDataParameter[] cmdParameters)
用途:執行Store Procedure指令文本,擷取相應的DataSet資料集
參數:(1)string  cmdText    -- Store Procedure指令文本
     (2)DataSet ds    --資料集對象
     (3)params IDataParameter[] cmdParameters    --指令參數數組
傳回:(無)

SpExecuteDataset
聲明:void SpExecuteDataset(string cmdText, DataSet ds, string tableName, params IDataParameter[] cmdParameters)
用途:執行Store Procedure指令文本,擷取相應的DataSet資料集
參數:(1)string  cmdText    -- Store Procedure指令文本
     (2)DataSet ds    --資料集對象
     (3)string tableName    --資料集中的資料表名
     (4)params IDataParameter[] cmdParameters    --指令參數數組
傳回:(無)      

【本文采用.NET/C#語言撰寫,如需其它語言版本,請聯系作者索取。】

相關下載下傳:

DeveloperSharp.dll元件

windows平台的分布式微服務解決方案(7)--IDataAccess工具介紹(資料通路)

如果文章對你有幫助,請點贊、收藏、關注(原創内容,歡迎轉載,轉載請注明出處)

有疑問想擷取專業技術支援?請掃描左側微信二維碼聯系作者

出處:https://www.cnblogs.com/DeveloperSharp/

本文采用「CC BY 4.0」知識共享協定進行許可,轉載請注明作者及出處。

繼續閱讀