J'ai plusieurs procédures stockées dans ma base de données. Par exemple, une procédure de suppression stockée comme:ExecuteSprocAccessor ne fonctionne pas pour les opérations CUD?
alter procedure [dbo].[DeleteFactor]
@Id uniqueidentifier
as
begin
delete from Factors where Id = @Id
end
Quand j'appelle cela de code comme ceci:
dc.ExecuteSprocAccessor("DeleteFactor", id);
alors la ligne ne soit pas effacé. Toutefois, ce code fonctionne:
dc.ExecuteNonQuery("DeleteFactor", id);
id
est un passé en paramètre et du type Guid.
Quelqu'un peut-il expliquer pourquoi le second fonctionne et la première approche ne fonctionne pas? Je trouve cela assez étrange car la première méthode est clairement à utiliser avec des procédures stockées.
Merci pour la clarification. Peut-être que la dénomination de cette méthode devrait être révisée à quelque chose comme ExecuteSprocAccessorForRetrievingData –