Enterprise Library 2.0系列:获取存储过程的参数集的相关信息

存储过程示例:
None.gif      ALTER   PROCEDURE  dbo.GetSumValue
None.gif    (
None.gif        
@IX   int ,
None.gif        
@IY   int ,
None.gif        
@IZ   int
None.gif    )
None.gif    
AS
None.gif        
Return  ( @IX   +   @IY   +   @IZ );
None.gif

C#代码示例:
None.gif         Database db  =  DatabaseFactory.CreateDatabase( " CS_QuickStarts " );  //  创建一个 Database 对象
None.gif
        DbCommand cmd  =  db.GetStoredProcCommand( " GetSumValue " );  //  创建一个 DbCommand 对象
None.gif
        db.DiscoverParameters(cmd);  //  显示参数信息
None.gif
        DbParameterCollection paras  =  cmd.Parameters;  //  获取参数集合前一定要先调用 DiscoverParameters 方法
None.gif

None.gif        
foreach  (DbParameter para  in  paras)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            Response.Write(
"<br />名称:" + para.ParameterName);
InBlock.gif            Response.Write(
"<br />类型:" + para.DbType);
InBlock.gif            Response.Write(
"<br />方向:" + para.Direction);
InBlock.gif            Response.Write(
"<hr />");
ExpandedBlockEnd.gif        }

None.gif
None.gif        Response.End();
None.gif

运行结果:
ExpandedBlockStart.gif ContractedBlock.gif      /**/ /* ---------- 运行结果 ----
InBlock.gif    名称:@RETURN_VALUE
InBlock.gif    类型:Int32
InBlock.gif    方向:ReturnValue
InBlock.gif    --------------------------------------------------------------------------------
InBlock.gif
InBlock.gif    名称:@IX
InBlock.gif    类型:Int32
InBlock.gif    方向:Input
InBlock.gif    --------------------------------------------------------------------------------
InBlock.gif
InBlock.gif    名称:@IY
InBlock.gif    类型:Int32
InBlock.gif    方向:Input
InBlock.gif    --------------------------------------------------------------------------------
InBlock.gif
InBlock.gif    名称:@IZ
InBlock.gif    类型:Int32
InBlock.gif    方向:Input
ExpandedBlockEnd.gif    
*/

None.gif


参考文档:SHY520的 《Enterprise Library 2.0 -- Data Access Application Block (补充) 》

SHY520的这篇日志是讲述存储过程参数调用方便的一种方法,写得很不错,我也学到了很多知识。

不过,我在查看《 Enterprise Library January 2006 文档》的时候,发现 Database 中有一个现成的方法可以直接使用:
None.gif public   virtual   int  ExecuteNonQuery (
None.gif    
string  storedProcedureName,
None.gif    
params  Object[] parameterValues
None.gif)

稍后,我会继续测试这个方法的。

转载于:https://www.cnblogs.com/jeky/archive/2006/09/08/498819.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值