使用存储过程输出参数来检索单个值
建立一个 SqlCommand 对象来调用存储过程
通过将 SqlParameters 添加到 SqlCommand 的 Parameters 集合中设置任何输入参数和单个输出参数
打开连接
调用 SqlCommand 对象的 ExecuteNonQuery 方法
关闭连接
通过使用输出 SqlParameter 的 Value 属性来检索输出值
上述代码使用了以下存储过程
CREATE PROCEDURE LookupProductNameSPOutput
@ProductID int
@ProductName nvarchar() OUTPUT
AS
SELECT @ProductName = ProductName
FROM Products
WHERE ProductID = @ProductID
GO
以下代码阐明了如何使用返回值来指明是否存在特定行从编码角度来看这类似于使用存储过程输出参数不同之处在于必须将 SqlParameter 方向显式设置为 ParameterDirectionReturnValue
bool CheckProduct( int ProductID )
{
using( SqlConnection conn = new SqlConnection(
server=(local);Integrated Security=SSPI;database=northwind) )
{
SqlCommand cmd = new SqlCommand(CheckProductSP conn );
cmdCommandType = CommandTypeStoredProcedure;
cmdParametersAdd(@ProductID ProductID );
SqlParameter paramRet =
cmdParametersAdd(@ProductExists SqlDbTypeInt );
paramRetDirection = ParameterDirectionReturnValue;
connOpen();
cmdExecuteNonQuery();
}
return (int)paramRetValue == ;
}
通过使用存储过程返回值来检查是否存在特定行
建立一个 SqlCommand 对象来调用存储过程
设置一个输入参数该参数含有要访问的行的主键值
设置单个返回值参数将一个 SqlParameter 对象添加到 SqlCommand 的 Parameters 集合中并将其方向设置为 ParameterDirectionReturnValue
打开连接
调用 SqlCommand 对象的 ExecuteNonQuery 方法
关闭连接
通过使用返回值 SqlParameter 的 Value 属性来检索返回值
[] [] [] [] [] [] [] [] []