【发布时间】:2016-11-13 12:12:44
【问题描述】:
我创建了一个用于删除记录的存储过程。在这个存储过程中,我首先检查要删除的数据的使用情况。如果正在使用,则存储过程将返回 -2,否则将删除记录。
但问题是即使记录也存在它的返回 -1 而不是 -2。我也设置了NOCOUNT OFF,但不知道问题出在哪里。
我知道这个问题已经通过设置 NOCOUNT OFF 得到了回答,但它对我不起作用
ALTER PROCEDURE [dbo].[spDeletePIDNumber]
@Id int
AS
BEGIN
SET NOCOUNT OFF;
-- Insert statements for procedure here
if(exists(select * from tblBills where PID = @Id))
begin
return -2
end
else
begin
Delete from HelperPIDNumber
where Id = @Id
end
END
public int DeletePIDNumber(int Id)
{
try
{
int result = 0;
using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.connection))
{
var cmd = new SqlCommand("spDeletePIDNumber", conn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Id", Id);
conn.Open();
result = cmd.ExecuteNonQuery();
}
return result;
}
catch
{
throw;
}
}
【问题讨论】:
-
你能发布你正在尝试的代码吗?
-
把代码贴在你使用的地方
.ExecuteNonQuery() -
并在
Delete ,,,,语句下面添加一些返回值。 -
我在 delete 下面做了那个返回值但是没有用
-
@mcNets 问题已更新
标签: sql-server stored-procedures executenonquery