sql中写事物和c#中执行事物

系统 1539 0

第一、sql中写事物

begin try
 begin transaction
 insert into shiwu (asd) values ('aasdasda');
 commit transaction
end try
begin catch
 select ERROR_NUMBER() as errornumber
 rollback transaction
end catch 

第二、c#中执行事物

 

      SqlParameter[] paras = 
      
        new
      
      
         SqlParameter[] { };

                paras 
      
      =
      
         list.ToArray();



                Baitour.Utility.DBHelper db 
      
      =
      
         Baitour.Utility.DBHelper.CreateMapping();

                DbTransaction dbTran 
      
      =
      
         db.CreateTran();

                
      
      
        try
      
      
        

                {

                    
      
      
        //
      
      
        在这里将插入得到的子订单号返回
      
      
        object
      
       obj =
      
         db.ExecuteScalar(sql.ToString(), paras, dbTran);

                    fsId 
      
      =
      
         obj.ToString();

                    
      
      
        //
      
      
        int index = db.ExecuteNonQuery(sql.ToString(), paras, dbTran);
      
      
        if
      
       (!
      
        string
      
      
        .IsNullOrWhiteSpace(fsId))

                    {

                        dbTran.Commit();

                        flag 
      
      = 
      
        true
      
      
        ;

                    }

                }

                
      
      
        catch
      
      
         (Exception ex)

                {

                    flag 
      
      = 
      
        false
      
      
        ;

                    dbTran.Rollback();

                    
      
      
        //
      
      
        throw;
      
      
                        }

                
      
      
        finally
      
      
        

                {

                    db.CloseConn();

                }
      
    

 

dbHelper

        
          using
        
        
           System;


        
        
          using
        
        
           System.Collections.Specialized;


        
        
          using
        
        
           System.Configuration;


        
        
          using
        
        
           System.Data;


        
        
          using
        
        
           System.Data.Common;


        
        
          using
        
        
           System.Data.SqlClient;


        
        
          using
        
        
           Microsoft.Practices.EnterpriseLibrary.Data;


        
        
          using
        
        
           Microsoft.Practices.EnterpriseLibrary.Data.Sql;




        
        
          /*
        
        
           

 * 作 者: zjf

 * 创建时间: 2013-1-29 10:20:53 

 * 说明:  

 
        
        
          */
        
        
          namespace
        
        
           Baitour.Utility

{

    
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           数据库访问类

    
        
        
          ///
        
        
          </summary>
        
        
          public
        
        
          sealed
        
        
          class
        
        
           DBHelper

    {

        
        
        
          public
        
        
          static
        
        
          int
        
         ConnIndex = 
        
          0
        
        
          ;

        
        
        
          public
        
        
          static
        
         DBHelper CreateMapping(
        
          string
        
         connStr = 
        
          ""
        
        
          )

        {

            DBHelper db 
        
        = 
        
          new
        
        
           DBHelper(connStr);

            
        
        
          return
        
        
           db;

        }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           增删改的数据库连接字符串

        
        
        
          ///
        
        
          </summary>
        
        
          string
        
         conString = 
        
          ""
        
        
          ;

        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           查询的数据库连接字符串

        
        
        
          ///
        
        
          </summary>
        
        
          string
        
         queryConString = 
        
          ""
        
        
          ;



        DBHelper(
        
        
          string
        
         connStr = 
        
          ""
        
        
          )

        {

            
        
        
          if
        
         (
        
          string
        
        
          .IsNullOrWhiteSpace(connStr))

            {

                conString 
        
        = ConfigurationManager.ConnectionStrings[
        
          "
        
        
          DBConfig
        
        
          "
        
        
          ].ToString();



                
        
        
          //
        
        
          第一个链接字符串是ConfigurationManager.ConnectionStrings[0].Name LocalSqlServer不知道是谁,所以要从第二个取

                
        
        
          //
        
        
          如果连接字符串的数量和当前索引+1相同 则从第一个索引开始取
        
        

                NameValueCollection connStrs = 
        
          new
        
        
           NameValueCollection();

                
        
        
          int
        
         j = 
        
          0
        
        
          ;

                
        
        
          for
        
         (
        
          int
        
         i = 
        
          0
        
        ; i < ConfigurationManager.ConnectionStrings.Count; i++
        
          )

                {

                    
        
        
          if
        
         (ConfigurationManager.ConnectionStrings[i].Name.StartsWith(
        
          "
        
        
          QueryDB
        
        
          "
        
        
          ))

                    {

                        connStrs.Add(j.ToString(), ConfigurationManager.ConnectionStrings[i].ToString());

                        j
        
        ++
        
          ;

                    }

                }



                
        
        
          if
        
         (connStrs.Count > 
        
          0
        
        
          )

                {

                    
        
        
          if
        
         (connStrs.Count ==
        
           ConnIndex)

                    {

                        ConnIndex 
        
        = 
        
          0
        
        
          ;

                    }

                    queryConString 
        
        =
        
           connStrs[ConnIndex].ToString();

                    ConnIndex
        
        ++
        
          ;

                }

                
        
        
          else
        
        
          

                {

                    queryConString 
        
        =
        
           conString;

                }



            }

            
        
        
          else
        
        
          

            {

                conString 
        
        =
        
           connStr;

                queryConString 
        
        =
        
           connStr;

            }



            DBMapping 
        
        = 
        
          new
        
        
           SqlDatabase(conString);

            QueryDBMapping 
        
        = 
        
          new
        
        
           SqlDatabase(queryConString);



        }



        
        
        
          #region
        
         变量or属性



        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           增删改的企业库访问映射对象

        
        
        
          ///
        
        
          </summary>
        
        
          internal
        
         Database DBMapping { 
        
          get
        
        ; 
        
          set
        
        
          ; }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           查询的企业库访问映射对象

        
        
        
          ///
        
        
          </summary>
        
        
          internal
        
         Database QueryDBMapping { 
        
          get
        
        ; 
        
          set
        
        
          ; }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           增删改的数据库连接

        
        
        
          ///
        
        
          </summary>
        
        
          internal
        
         DbConnection DBConnMapping { 
        
          get
        
        ; 
        
          set
        
        
          ; }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           查询的数据库连接

        
        
        
          ///
        
        
          </summary>
        
        
          internal
        
         DbConnection QueryDBConnMapping { 
        
          get
        
        ; 
        
          set
        
        
          ; }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           数据库事务

        
        
        
          ///
        
        
          </summary>
        
        
          internal
        
         DbTransaction DBTranMapping { 
        
          get
        
        ; 
        
          set
        
        
          ; }



        
        
        
          #endregion
        
        
          #region
        
         方法



        
        
          #region
        
         准备方法



        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           创建数据库连接

        
        
        
          ///
        
        
          </summary>
        
        
          void
        
        
           CreateDB()

        {

            DBMapping 
        
        = 
        
          new
        
        
           SqlDatabase(conString);

            QueryDBMapping 
        
        = 
        
          new
        
        
           SqlDatabase(queryConString);

        }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           创建并打开连接

        
        
        
          ///
        
        
          </summary>
        
        
          void
        
        
           CreateConn()

        {

            
        
        
          #region
        
         增删改



            
        
          if
        
         (DBMapping == 
        
          null
        
        
          )

            {

                CreateDB();

            }



            
        
        
          if
        
         (DBConnMapping == 
        
          null
        
        
          )

            {

                DBConnMapping 
        
        =
        
           DBMapping.CreateConnection();

                DBConnMapping.Open();
        
        
          //
        
        
          打开连接
        
        
                      }



            
        
        
          //
        
        
          打开存在的连接
        
        
          if
        
         (DBConnMapping != 
        
          null
        
         && DBConnMapping.State !=
        
           ConnectionState.Open)

            {

                DBConnMapping.Open();
        
        
          //
        
        
          打开连接
        
        
                      }



            
        
        
          #endregion
        
        
          #region
        
         查询



            
        
          if
        
         (QueryDBMapping == 
        
          null
        
        
          )

            {

                CreateDB();

            }



            
        
        
          if
        
         (QueryDBConnMapping == 
        
          null
        
        
          )

            {

                QueryDBConnMapping 
        
        =
        
           QueryDBMapping.CreateConnection();

                QueryDBConnMapping.Open();
        
        
          //
        
        
          打开连接
        
        
                      }



            
        
        
          //
        
        
          打开存在的连接
        
        
          if
        
         (QueryDBConnMapping != 
        
          null
        
         && QueryDBConnMapping.State !=
        
           ConnectionState.Open)

            {

                QueryDBConnMapping.Open();
        
        
          //
        
        
          打开连接
        
        
                      }



            
        
        
          #endregion
        
        
          

        }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           关闭数据库连接

        
        
        
          ///
        
        
          </summary>
        
        
          public
        
        
          void
        
        
           CloseConn()

        {

            
        
        
          if
        
         (DBConnMapping != 
        
          null
        
         && DBConnMapping.State ==
        
           ConnectionState.Open)

            {

                DBConnMapping.Close();

                DBConnMapping.Dispose();

            }



            
        
        
          if
        
         (QueryDBConnMapping != 
        
          null
        
         && QueryDBConnMapping.State ==
        
           ConnectionState.Open)

            {

                QueryDBConnMapping.Close();

                QueryDBConnMapping.Dispose();

            }

        }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           创建并返回事务

        
        
        
          ///
        
        
          </summary>
        
        
          public
        
        
           DbTransaction CreateTran()

        {

            
        
        
          if
        
         (DBMapping == 
        
          null
        
        
          ) { CreateDB(); }

            CreateConn();

            DBTranMapping 
        
        = DBTranMapping ??
        
           DBConnMapping.BeginTransaction();

            
        
        
          return
        
        
           DBTranMapping;

        }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           创建命令对象

        
        
        
          ///
        
        
          </summary>
        
        
          ///
        
        
          <param name="commandType">
        
        
          sql语句/存储过程
        
        
          </param>
        
        
          ///
        
        
          <param name="commandText">
        
        
          名称
        
        
          </param>
        
        
          ///
        
        
          <param name="commParameters">
        
        
          sql参数
        
        
          </param>
        
        
          ///
        
        
          <param name="isQuery">
        
        
          是否是创建查询命令
        
        
          </param>
        
        
          ///
        
        
          <returns></returns>
        
        

        DbCommand CreateComm(CommandType commandType, 
        
          string
        
         commandText, DbParameter[] commParameters = 
        
          null
        
        , 
        
          bool
        
         isQuery = 
        
          false
        
        
          )

        {

            DbCommand command 
        
        = 
        
          null
        
        
          ;

            
        
        
          if
        
         (commandText == 
        
          null
        
         || commandText.Length == 
        
          0
        
        ) 
        
          throw
        
        
          new
        
         ArgumentNullException(
        
          "
        
        
          sql语句/存储过程为空
        
        
          "
        
        
          );

            
        
        
          //
        
        
          创建命令对象
        
        
          if
        
         (commandType ==
        
           CommandType.StoredProcedure)

                command 
        
        = isQuery ?
        
           QueryDBMapping.GetStoredProcCommand(commandText) : DBMapping.GetStoredProcCommand(commandText);

            
        
        
          else
        
        
          

                command 
        
        = isQuery ?
        
           QueryDBMapping.GetSqlStringCommand(commandText) : DBMapping.GetSqlStringCommand(commandText);



            
        
        
          //
        
        
          清空参数
        
        
                      command.Parameters.Clear();

            
        
        
          //
        
        
          填充参数
        
        
          if
        
         (commParameters != 
        
          null
        
        
          )

            {

                
        
        
          if
        
         (!
        
          string
        
        .IsNullOrWhiteSpace(ConfigurationManager.AppSettings[
        
          "
        
        
          DBType
        
        
          "
        
        ]) && ConfigurationManager.AppSettings[
        
          "
        
        
          DBType
        
        
          "
        
        ].ToLower() == 
        
          "
        
        
          oracle
        
        
          "
        
        
          )

                {

                    
        
        
          foreach
        
         (DbParameter item 
        
          in
        
        
           commParameters)

                    {

                        
        
        
          if
        
         (!item.ParameterName.StartsWith(
        
          "
        
        
          !
        
        
          "
        
        
          ))

                            item.ParameterName 
        
        = 
        
          "
        
        
          !
        
        
          "
        
         +
        
           item.ParameterName;

                    }

                }

                
        
        
          else
        
        
          

                {

                    
        
        
          foreach
        
         (DbParameter item 
        
          in
        
        
           commParameters)

                    {

                        
        
        
          if
        
         (!item.ParameterName.StartsWith(
        
          "
        
        
          @
        
        
          "
        
        
          ))

                            item.ParameterName 
        
        = 
        
          "
        
        
          @
        
        
          "
        
         +
        
           item.ParameterName;

                    }

                }

                
        
        
          if
        
         (commParameters.Length == 
        
          1
        
        ) { command.Parameters.Add(commParameters[
        
          0
        
        
          ]); }

                
        
        
          else
        
        
           { command.Parameters.AddRange(commParameters); }

            }



            
        
        
          return
        
        
           command;

        }



        
        
        
          #endregion
        
        
          #region
        
         执行方法



        
        
          #region
        
         sql、存储过程



        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           返回首列

        
        
        
          ///
        
        
          </summary>
        
        
          ///
        
        
          <param name="sql"></param>
        
        
          ///
        
        
          <param name="paras"></param>
        
        
          ///
        
        
          <returns></returns>
        
        
          public
        
        
          object
        
         ExecuteScalar(
        
          string
        
         sql, DbParameter[] paras, CommandType cType =
        
           CommandType.Text)

        {

            
        
        
          object
        
         obj = 
        
          null
        
        
          ;

            
        
        
          try
        
        
          

            {

                DbCommand command 
        
        = CreateComm(cType, sql, paras, 
        
          true
        
        
          );

                obj 
        
        =
        
           DBMapping.ExecuteScalar(command);

            }

            
        
        
          catch
        
        
           (Exception ex)

            {

            }

            
        
        
          finally
        
        
          

            {

                CloseConn();

            }

            
        
        
          return
        
        
           obj;

        }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           返回首列

        
        
        
          ///
        
        
          </summary>
        
        
          ///
        
        
          <param name="sql"></param>
        
        
          ///
        
        
          <param name="paras"></param>
        
        
          ///
        
        
          <returns></returns>
        
        
          public
        
        
          object
        
         ExecuteScalar(
        
          string
        
         sql, DbParameter[] paras, DbTransaction tran, CommandType cType =
        
           CommandType.Text)

        {

            
        
        
          object
        
         obj = 
        
          null
        
        
          ;

            
        
        
          try
        
        
          

            {

                DbCommand command 
        
        =
        
           CreateComm(cType, sql, paras);

                obj 
        
        =
        
           DBMapping.ExecuteScalar(command, tran);

            }

            
        
        
          catch
        
        
           (Exception ex)

            {



            }

            
        
        
          finally
        
        
          

            {



            }

            
        
        
          return
        
        
           obj;

        }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           返回reader

        
        
        
          ///
        
        
          </summary>
        
        
          ///
        
        
          <param name="sql"></param>
        
        
          ///
        
        
          <param name="paras"></param>
        
        
          ///
        
        
          <returns></returns>
        
        
          public
        
         IDataReader ExecuteReader(
        
          string
        
         sql, DbParameter[] paras, CommandType cType =
        
           CommandType.Text)

        {

            
        
        
          try
        
        
          

            {

                DbCommand command 
        
        = CreateComm(cType, sql, paras, 
        
          true
        
        
          );

                command.Connection 
        
        =
        
           QueryDBMapping.CreateConnection();

                command.Connection.Open();

                
        
        
          return
        
        
           command.ExecuteReader(CommandBehavior.CloseConnection);

            }

            
        
        
          catch
        
        
           (Exception ex)

            {

                
        
        
          return
        
        
          null
        
        
          ;

            }

        }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           返回数据集

        
        
        
          ///
        
        
          </summary>
        
        
          ///
        
        
          <returns></returns>
        
        
          public
        
         DataSet ExecuteDataSet(
        
          string
        
         sql, DbParameter[] paras, CommandType cType =
        
           CommandType.Text)

        {

            
        
        
          try
        
        
          

            {

                DbCommand command 
        
        = CreateComm(cType, sql, paras, 
        
          true
        
        
          );

                
        
        
          return
        
        
           QueryDBMapping.ExecuteDataSet(command);

            }

            
        
        
          catch
        
        
           (Exception ex)

            {

                
        
        
          return
        
        
          null
        
        
          ;

            }

            
        
        
          finally
        
        
          

            {

                CloseConn();

            }

        }

        
        
        
          public
        
         DataSet ExecuteDataSet(
        
          string
        
        
           sql)

        {

            
        
        
          try
        
        
          

            {

                DbCommand db 
        
        =
        
           CreateComm(CommandType.Text, sql);

                
        
        
          return
        
        
           QueryDBMapping.ExecuteDataSet(CommandType.Text,sql);

            }

            
        
        
          catch
        
        
          

            {

                
        
        
          return
        
        
          null
        
        
          ;

            }

            
        
        
          finally
        
        
          

            {

                CloseConn();

            }

        }

        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           得到影响行数

        
        
        
          ///
        
        
          </summary>
        
        
          ///
        
        
          <returns></returns>
        
        
          public
        
        
          int
        
         ExecuteNonQuery(
        
          string
        
         sql, DbParameter[] paras, CommandType cType =
        
           CommandType.Text)

        {

            
        
        
          try
        
        
          

            {

                DbCommand command 
        
        =
        
           CreateComm(cType, sql, paras);

                
        
        
          return
        
        
           DBMapping.ExecuteNonQuery(command);

            }

            
        
        
          catch
        
        
           (Exception ex)

            {

                
        
        
          return
        
         -
        
          1
        
        
          ;

            }

            
        
        
          finally
        
        
          

            {

                CloseConn();

            }

        }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           得到影响行数需要手动关闭连接

        
        
        
          ///
        
        
          </summary>
        
        
          ///
        
        
          <returns></returns>
        
        
          public
        
        
          int
        
         ExecuteNonQuery(
        
          string
        
         sql, DbParameter[] paras, DbTransaction tran, CommandType cType =
        
           CommandType.Text)

        {

            
        
        
          try
        
        
          

            {

                DbCommand command 
        
        =
        
           CreateComm(cType, sql, paras);

                
        
        
          return
        
        
           DBMapping.ExecuteNonQuery(command, tran);

            }

            
        
        
          catch
        
        
           (Exception ex)

            {

                
        
        
          return
        
         -
        
          1
        
        
          ;

            }

            
        
        
          finally
        
        
          

            {

            }

        }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           数据库分页获取DataSet对象

        
        
        
          ///
        
        
          </summary>
        
        
          ///
        
        
          <param name="sTable_Name">
        
        
          表名/视图名
        
        
          </param>
        
        
          ///
        
        
          <param name="sSign_Record">
        
        
          显示的字段(以,分隔)/*表示全部字段
        
        
          </param>
        
        
          ///
        
        
          <param name="sFilter_Condition">
        
        
          查询条件
        
        
          </param>
        
        
          ///
        
        
          <param name="iPage_Size">
        
        
          每页显示条数
        
        
          </param>
        
        
          ///
        
        
          <param name="iPage_Index">
        
        
          第几页
        
        
          </param>
        
        
          ///
        
        
          <param name="sTaxisField">
        
        
          排序字段(以,分隔)
        
        
          </param>
        
        
          ///
        
        
          <param name="iTaxis_Sign">
        
        
          排序0升序1降序
        
        
          </param>
        
        
          ///
        
        
          <param name="iPageCount">
        
        
          返回总页数
        
        
          </param>
        
        
          ///
        
        
          <param name="iiRecord_Count">
        
        
          返回总记录数
        
        
          </param>
        
        
          ///
        
        
          <returns>
        
        
          DataSet对象
        
        
          </returns>
        
        
          public
        
         DataSet ExecutePageDataSet(
        
          string
        
         sTable_Name, 
        
          string
        
        
           sSign_Record,

            
        
        
          string
        
         sFilter_Condition, 
        
          int
        
         iPage_Size, 
        
          int
        
         iPage_Index, 
        
          string
        
        
           sTaxisField,

            
        
        
          int
        
         iTaxis_Sign, 
        
          out
        
        
          int
        
         iPageCount, 
        
          out
        
        
          int
        
        
           iiRecord_Count)

        {

            DataSet ds 
        
        = 
        
          new
        
        
           DataSet();

            
        
        
          try
        
        
          

            {

                SqlParameter[] param 
        
        = 
        
          new
        
        
           SqlParameter[]

                     {

                          
        
        
          new
        
         SqlParameter(
        
          "
        
        
          @TableName
        
        
          "
        
        
          ,sTable_Name),

                          
        
        
          new
        
         SqlParameter(
        
          "
        
        
          @Fields
        
        
          "
        
        
          ,sSign_Record),

                          
        
        
          new
        
         SqlParameter(
        
          "
        
        
          @OrderField
        
        
          "
        
        
          ,sTaxisField),

                          
        
        
          new
        
         SqlParameter(
        
          "
        
        
          @Taxis_Sign
        
        
          "
        
        
          ,iTaxis_Sign), 

                          
        
        
          new
        
         SqlParameter(
        
          "
        
        
          @sqlWhere
        
        
          "
        
        
          ,sFilter_Condition),

                          
        
        
          new
        
         SqlParameter(
        
          "
        
        
          @pageSize
        
        
          "
        
        
          ,iPage_Size),

                          
        
        
          new
        
         SqlParameter(
        
          "
        
        
          @pageIndex
        
        
          "
        
        
          ,iPage_Index),

                          
        
        
          new
        
         SqlParameter(
        
          "
        
        
          @TotalPage
        
        
          "
        
        
          , System.Data.SqlDbType.Int),

                          
        
        
          new
        
         SqlParameter(
        
          "
        
        
          @totalCount
        
        
          "
        
        
          , System.Data.SqlDbType.Int)

                     };

                param[
        
        
          7
        
        ].Direction =
        
           System.Data.ParameterDirection.Output;

                param[
        
        
          8
        
        ].Direction =
        
           System.Data.ParameterDirection.Output;

                
        
        
          //
        
        
          执行
        
        

                DbCommand command = CreateComm(CommandType.StoredProcedure, 
        
          "
        
        
          up_ProcCustomPage2005
        
        
          "
        
        
          , param);

                ds 
        
        =
        
           QueryDBMapping.ExecuteDataSet(command);

                iPageCount 
        
        = 
        
          0
        
        
          ;

                iiRecord_Count 
        
        = 
        
          0
        
        
          ;

                
        
        
          try
        
        
          

                {

                    iPageCount 
        
        = Convert.ToInt32(command.Parameters[
        
          "
        
        
          @TotalPage
        
        
          "
        
        
          ].Value);

                    iiRecord_Count 
        
        = Convert.ToInt32(command.Parameters[
        
          "
        
        
          @totalCount
        
        
          "
        
        
          ].Value);

                }

                
        
        
          catch
        
        
           (Exception ex)

                {



                    iPageCount 
        
        = 
        
          0
        
        
          ;

                    iiRecord_Count 
        
        = 
        
          0
        
        
          ;

                }

                
        
        
          finally
        
        
          

                {

                    command.Parameters.Clear();

                }

            }

            
        
        
          catch
        
        
           (Exception ex)

            {

                ds 
        
        = 
        
          null
        
        
          ;

                iPageCount 
        
        = 
        
          0
        
        
          ;

                iiRecord_Count 
        
        = 
        
          0
        
        
          ;

            }

            
        
        
          finally
        
        
          

            {



            }

            
        
        
          return
        
        
           ds;

        }



        
        
        
          #endregion
        
        
          #region
        
         不加上查询参数的



        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           返回首列

        
        
        
          ///
        
        
          </summary>
        
        
          ///
        
        
          <param name="sql"></param>
        
        
          ///
        
        
          <param name="paras"></param>
        
        
          ///
        
        
          <returns></returns>
        
        
          public
        
        
          object
        
         ExecuteScalar(
        
          string
        
        
           sql)

        {

            
        
        
          object
        
         obj = 
        
          null
        
        
          ;

            
        
        
          try
        
        
          

            {

                DbCommand command 
        
        = CreateComm(CommandType.Text, sql, 
        
          null
        
        , 
        
          true
        
        
          );

                
        
        
          return
        
        
           DBMapping.ExecuteScalar(command);

            }

            
        
        
          catch
        
        
           (Exception ex)

            {



            }

            
        
        
          finally
        
        
          

            {

                CloseConn();

            }

            
        
        
          return
        
        
           obj;

        }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           返回reader

        
        
        
          ///
        
        
          </summary>
        
        
          ///
        
        
          <returns></returns>
        
        
          public
        
         IDataReader ExecuteReader(
        
          string
        
        
           sql)

        {

            
        
        
          try
        
        
          

            {

                DbCommand command 
        
        = CreateComm(CommandType.Text, sql, 
        
          null
        
        , 
        
          true
        
        
          );

                
        
        
          return
        
        
           QueryDBMapping.ExecuteReader(command);

            }

            
        
        
          catch
        
        
           (Exception ex)

            {

                
        
        
          return
        
        
          null
        
        
          ;

            }

        }



        
        
        
          ///
        
        
          <summary>
        
        
          ///
        
        
           得到影响行数

        
        
        
          ///
        
        
          </summary>
        
        
          ///
        
        
          <returns></returns>
        
        
          public
        
        
          int
        
         ExecuteNonQuery(
        
          string
        
        
           sql)

        {

            
        
        
          try
        
        
          

            {

                DbCommand command 
        
        = CreateComm(CommandType.Text, sql, 
        
          null
        
        , 
        
          true
        
        
          );

                
        
        
          return
        
        
           DBMapping.ExecuteNonQuery(command);

            }

            
        
        
          catch
        
        
           (Exception ex)

            {

                
        
        
          throw
        
        
          ;

            }

        }



        
        
        
          #endregion
        
        
          #endregion
        
        
          #endregion
        
        
          



    }



}
        
      
View Code

 

 

sql中写事物和c#中执行事物


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论