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

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

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

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


        Response.End();

运行结果:
    /* ---------- 运行结果 ----
    名称:@RETURN_VALUE
    类型:Int32
    方向:ReturnValue
    --------------------------------------------------------------------------------

    名称:@IX
    类型:Int32
    方向:Input
    --------------------------------------------------------------------------------

    名称:@IY
    类型:Int32
    方向:Input
    --------------------------------------------------------------------------------

    名称:@IZ
    类型:Int32
    方向:Input
    
*/



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

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

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

稍后,我会继续测试这个方法的。
posted @ 2006-09-08 15:18  jeky  阅读(900)  评论(0编辑  收藏  举报
友情链接:逗死了笑话网 | 网络记事本