(转载)使用DbHelperSQL调用存储过程的方法

 

ExpandedBlockStart.gif C#代码
///   <summary>    
        
///  获得数据集   
        
///   </summary>    
        
///   <param name="tblName"> 表名 </param>    
        
///   <param name="RetColumns"> 需要返回的列,默认为全部  </param>    
        
///   <param name="Orderfld"> 排序字段名 </param>    
        
///   <param name="PageSize"> 页尺寸 </param>    
        
///   <param name="PageIndex"> 页码  </param>    
        
///   <param name="IsCount"> 返回记录总数, 非 0 值则返回  </param>    
        
///   <param name="OrderType"> 设置排序类型, 非 asc 值则降序  </param>    
        
///   <param name="strWhere"> 查询条件 (注意: 不要加 where)  </param>    
        
///   <returns> 数据集 </returns>    
         public   static  SqlDataReader Get_DataReader( string  tblName, string  RetColumns, string  Orderfld, int  PageSize, int  PageIndex, int  IsCount, string  OrderType, string  strWhere)   
        {   
            IDataParameter[] parameters 
=   new  SqlParameter[ 8 ];   
            parameters[
0 ] = new  SqlParameter( " @tblName " , SqlDbType.NVarChar, 255 ); // 表名   
            parameters[ 1 ] = new  SqlParameter( " @RetColumns " , SqlDbType.NVarChar, 1000 ); // 需要返回的列,默认为全部    
            parameters[ 2 ] = new  SqlParameter( " @Orderfld " , SqlDbType.NVarChar, 255 ); // 排序字段名   
            parameters[ 3 ] = new  SqlParameter( " @PageSize " , SqlDbType.Int); // 页尺寸   
            parameters[ 4 ] = new  SqlParameter( " @PageIndex " , SqlDbType.Int); // 页码    
            parameters[ 5 ] = new  SqlParameter( " @IsCount " , SqlDbType.Bit); // 返回记录总数, 非 0 值则返回    
            parameters[ 6 ] = new  SqlParameter( " @OrderType " , SqlDbType.NVarChar, 50 ); // 设置排序类型, 非 asc 值则降序    
            parameters[ 7 ] = new  SqlParameter( " @strWhere " , SqlDbType.NVarChar, 1000 ); // 查询条件 (注意: 不要加 where)    
  
            parameters[
0 ].Value = tblName;   
            parameters[
1 ].Value = RetColumns;   
            parameters[
2 ].Value = Orderfld;   
            parameters[
3 ].Value = PageSize;   
            parameters[
4 ].Value = PageIndex;   
            parameters[
5 ].Value = IsCount;   
            parameters[
6 ].Value = OrderType;   
            parameters[
7 ].Value = strWhere;   
            
try   
            {   
                
return  DbHelperSQL.RunProcedure( " proc_y_GetRecordFromPage " ,parameters);   
            }   
            
catch   
            {   
                
return   null ;   
            }   
        }   
  
///   <summary>    
        
///  执行存储过程   
        
///   </summary>    
        
///   <param name="storedProcName"> 存储过程名 </param>    
        
///   <param name="parameters"> 存储过程参数 </param>    
        
///   <returns> SqlDataReader </returns>    
         public   static  SqlDataReader RunProcedure( string  storedProcName, IDataParameter[] parameters )   
        {   
            SqlConnection connection 
=   new  SqlConnection(connectionString);   
            SqlDataReader returnReader;   
            connection.Open();   
            SqlCommand command 
=  BuildQueryCommand( connection,storedProcName, parameters );   
            command.CommandType 
=  CommandType.StoredProcedure;   
            returnReader 
=  command.ExecuteReader();                   
            
return  returnReader;               
        }   
///   <summary>    
        
///  构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值)   
        
///   </summary>    
        
///   <param name="connection"> 数据库连接 </param>    
        
///   <param name="storedProcName"> 存储过程名 </param>    
        
///   <param name="parameters"> 存储过程参数 </param>    
        
///   <returns> SqlCommand </returns>    
         private   static  SqlCommand BuildQueryCommand(SqlConnection connection, string  storedProcName, IDataParameter[] parameters)   
        {               
            SqlCommand command 
=   new  SqlCommand( storedProcName, connection );   
            command.CommandType 
=  CommandType.StoredProcedure;   
            
foreach  (SqlParameter parameter  in  parameters)   
            {   
                command.Parameters.Add( parameter );   
            }   
            
return  command;               
        }  

 

 

转载于:https://www.cnblogs.com/Donkey/archive/2010/07/13/1776780.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值