Я создал хранимую процедуру для удаления записи. В этой хранимой процедуре я сначала проверяю использование данных, которые я собираюсь удалить. Если он используется, то хранимая процедура вернет -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
и добавьте некоторое возвращаемое значение ниже 'Delete ,,,,' statement. – McNets