J'ai un petit problème avec ma procédure stockée. Il me donne cette erreur:Procédure stockée SQL Server - erreur de conversion
Conversion failed when converting the varchar value 'Cluj-Napoca' to data type int.
Voici mon code:
CREATE PROCEDURE UjVasarlas
@JID int,
@SZID int,
@Nev varchar(30),
@Cim varchar(30),
@Darab int,
@Datum varchar(30)
AS
SET NOCOUNT ON;
DECLARE @maxId int;
SET @maxId = (SELECT MAX(VevoID) FROM Vevo);
iF EXISTS (SELECT * FROM Vevo WHERE Vevo.VevoNev = @Nev)
begin
INSERT INTO Vasarlas VALUES (@maxId+1, @JID, @SZID, @Darab, @Datum)
end
else
INSERT INTO Vevo VALUES (@maxId+1, @Nev, @Cim, 1)
INSERT INTO Vasarlas VALUES (@maxId+1, @JID, @SZID, @Darab, @Datum)
GO
EXEC UjVasarlas 2, 2, 'Your Name', 'Your City', 2, '2013-01-22'
Si ça aide je peux vous dire ce qu'il est pour, mais je ne l'ai pas voulu perdre de temps avec ça ... quelqu'un peut-il aider? ... thx prévu;)
PS:
Maintenant, il a un autre problème:
The INSERT statement conflicted with the FOREIGN KEY constraint "FK__Vasarlas__VevoID__47E69B3D". The conflict occurred in database "master", table "dbo.Vevo", column 'VevoID'.
les deux tableaux ressemblent à ceci:
Vasarlas
(VevoID, JatekID, SzallitoID, Darab, Datum
)Vevo
(VevoID, VevoNev, OrszagID, Cim
)
Veuillez ne pas stocker les dates sous forme de chaînes (comme vous semblez le faire avec le 6ème paramètre ici). La conversion de la date (heure) s en et à partir des chaînes a tendance à introduire des bogues. SQL Server dispose de types de données spécifiques pour le stockage des dates et des heures. –