Sky*_*g33 4 c# sql-server asp.net return-value
这是我的SQL:
IF (SELECT Status FROM dbo.Coupon WHERE Guid = @pGuid) = 0
BEGIN
UPDATE
dbo.Coupon
SET
Status = @pStatus
WHERE
Guid = @pGuid
RETURN 0
END
ELSE
RETURN 1;
Run Code Online (Sandbox Code Playgroud)
这是我的C#:
try
{
DbCommand command = db.GetStoredProcCommand("upd_Coupon_p");
db.AddInParameter(command, "@pGuid", DbType.String, s);
db.AddInParameter(command, "@pStatus", DbType.Byte, 1);
ds = db.ExecuteDataSet(command);
}
Run Code Online (Sandbox Code Playgroud)
如何在代码中获得0或1的返回值?
您添加一个返回值参数,如下所示:
对于SqlCommand:
parameters.Add("@retValue", DbType.Int32, ParameterDirection.ReturnValue);
Run Code Online (Sandbox Code Playgroud)
对于EL,您需要使用db.AddParameter()并指定ParameterDirection.ReturnValue.
此外,只要在您的数据库中启用了行计数,对于您正在执行的更新,您可以使用ExecuteNonQuery()中的结果来告诉您在更新/插入/删除/等上受影响的行数.这样你可以处理受影响的行是0(找不到任何)
| 归档时间: |
|
| 查看次数: |
2184 次 |
| 最近记录: |