Enterprise Library 2.0系列:获取存储过程的参数集的相关信息
存储过程示例:
C#代码示例:
运行结果:
参考文档:SHY520的《Enterprise Library 2.0 -- Data Access Application Block (补充) 》 。
SHY520的这篇日志是讲述存储过程参数调用方便的一种方法,写得很不错,我也学到了很多知识。
不过,我在查看《Enterprise Library January 2006 文档》的时候,发现 Database 中有一个现成的方法可以直接使用:
稍后,我会继续测试这个方法的。
ALTER PROCEDURE dbo.GetSumValue
(
@IX int,
@IY int,
@IZ int
)
AS
Return (@IX + @IY + @IZ);
(
@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();
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
*/
名称:@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
)
string storedProcedureName,
params Object[] parameterValues
)
稍后,我会继续测试这个方法的。