- 积分
- 40165
- 好友
- 记录
- 主题
- 帖子
- 听众
- 收听
|
如果是读取类似是这种的看过程
[code=sql]
ALTER PROCEDURE test
(
@User int,
@Id int
)
AS
BEGIN
-------
RETURN @@IDENTITY;
END[/code]
如果只是使用Sql语句调用是这样的
[code=sql]DECLARE @return_value int
EXEC @return_value =test
@User = 1,
@Id = 2,
SELECT 'Return Value' = @return_value[/code]
C#里的调用方法如下
[code=csharp] SqlParameter[] parm = new SqlParameter[]
{
new SqlParameter("@User",SqlDbType.Int,8),
new SqlParameter("@Id",SqlDbType.Int,8),
new SqlParameter("@RETURN_VALUE",SqlDbType.Int)
};
parm[0].Value = "2";
parm[1].Value = "5";
parm[2].Direction = ParameterDirection.ReturnValue;
SqlHelper.ExecuteNonQueryProducts("test", parm);
return Convert.ToInt32(parm[2].Value);[/code]
其实关键在于这一步,如果你要接收Out参数的话可以这样写
ParameterDirection.Output
这个类如下大家可以自己设置
[code=csharp] // 摘要:
// 指定查询内的有关 System.Data.DataSet 的参数的类型。
public enum ParameterDirection
{
// 摘要:
// 参数是输入参数。
Input = 1,
//
// 摘要:
// 参数是输出参数。
Output = 2,
//
// 摘要:
// 参数既能输入,也能输出。
InputOutput = 3,
//
// 摘要:
// 参数表示诸如存储过程、内置函数或用户定义函数之类的操作的返回值。
ReturnValue = 6,
}[/code]
|
|