Qu'est-ce qui ne va pas avec ce que vous avez? Quelle erreur obtenez-vous, ou quel résultat obtenez-vous ou ne trouvez-vous pas qui ne correspond pas à vos attentes?
Je peux voir les questions suivantes avec ce SP, qui peuvent ou peuvent ne pas se rapporter à votre problème:
- Vous avez une
)
étrangère après @BrandName
dans votre SELECT
(à la fin)
- Vous n'êtes pas mise en
@CategoryID
ou quoi que ce soit à @BrandName
partout (ils sont variables locales, mais vous ne donnez pas de valeurs pour les)
Modifier En réponse à votre commentaire: L'erreur vous indique que vous n'avez pas déclaré paramètres pour le SP (et vous ne l'avez pas), mais vous l'avez appelé avec des paramètres. Sur la base de votre réponse à propos de @CategoryID
, je suppose que vous vouliez que ce soit un paramètre plutôt qu'une variable locale. Essayez ceci:
CREATE PROCEDURE AddBrand
@BrandName nvarchar(50),
@CategoryID int
AS
BEGIN
DECLARE @BrandID int
SELECT @BrandID = BrandID FROM tblBrand WHERE BrandName = @BrandName
INSERT INTO tblBrandinCategory (CategoryID, BrandID) VALUES (@CategoryID, @BrandID)
END
Vous pouvez ensuite appeler cela comme ça:
EXEC AddBrand 'Gucci', 23
... en supposant que le nom de la marque était 'Gucci' et l'ID de la catégorie était 23.
I obtenez l'erreur suivante: Procédure AddBrand n'a aucun paramètre et arguments ont été fournis. Je corrigé le «) » Je ne sais pas ce que vous entendez sur le CategoryID, j'ai une valeur sur ma page ASPX que j'apporter à la SP et je voudrais ajouter à tblBrandinCategory – Nicklas
@ispostback: Merci pour la faute de frappe correctifs Non, '()' ne sont pas utilisés autour des déclarations de paramètres dans ['CREATE PROCEDURE'] (https://docs.microsoft.com/fr-fr/sql/t-sql/statements/create-procedure-transact- sql). –