我創建了一個用於刪除記錄的存儲過程。在這個存儲過程中,我首先檢查我將要刪除的數據的用法。如果正在使用它,那麼存儲過程將返回-2,否則它會刪除記錄。ExecuteNonQuery總是返回-1
但問題是,即使記錄存在其返回-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;
}
}
您可以發佈您正在嘗試的代碼嗎? – Geethanga
後使用了'.ExecuteNonQuery()' – McNets
其中的代碼,並添加下面的'刪除,,,,'聲明瞭一些返回值。 – McNets