CREATE procedure dbo.spSzamlak
(@MUV varchar(4),
@ID int,
@Szamla_Szam nvarchar(50),
@Szamla_Datum smalldatetime,
@Szamla_Nev nvarchar(50),
@Szamla_Hely nvarchar(100),
@Szamla_Megjegyzes nvarchar(500),
@Behozo nvarchar (50),
@Osszeg float(8),
@Fiszkalis_EV nvarchar(4),
@Objektum nvarchar(50),
@Aru_Tipus nvarchar(50),
@Lezart int,
@Lezarta_Felhasznalo char(50),
@Km float,
@visszaID int output
)
AS
BEGIN
IF @MUV='INS'
BEGIN
INSERT INTO [Transport].[dbo].[Forgalom]([Szamla_Szam], [Szamla_Datum], [Szamla_Nev],[Szamla_Hely],[Szamla_Megjegyzes],[Behozo],[Fiszkalis_EV],[Objektum],[Aru_Tipus],[Lezart],[Lezarta_Felhasznalo],[Osszeg],[Km])
VALUES(@Szamla_Szam,@Szamla_Datum,@Szamla_Nev,@Szamla_Hely,@Szamla_Megjegyzes,@Behozo,@Fiszkalis_EV,@Objektum,@Aru_Tipus,@Lezart,@Lezarta_Felhasznalo, @Osszeg, @Km)
select @visszaid=IDENT_CURRENT(' [Transport].[dbo].[Forgalom]')
END
IF @MUV='UPD'
BEGIN
UPDATE [Transport].[dbo].[Forgalom] SET Szamla_Szam=@Szamla_Szam,
Szamla_Datum=@Szamla_Datum,
Szamla_Nev=@Szamla_Nev,
Szamla_Hely=@Szamla_Hely,
Szamla_Megjegyzes=@Szamla_Megjegyzes,
Behozo=@Behozo,
Fiszkalis_EV=@Fiszkalis_EV,
Objektum=@Objektum,
Aru_Tipus=@Aru_Tipus,
Lezart=@Lezart,
Lezarta_Felhasznalo=@Lezarta_Felhasznalo,
Osszeg=@Osszeg,
Km=@Km
where ID=@ID
END
IF @MUV='DEL'
BEGIN
DELETE [Transport].[dbo].[Forgalom]
where ID=@ID
END
END
GO
--------------------
code from delphi
--------------------
note : spFORGALOM @visszaid is set to OUTPUT in the parameters of spFORGALOM tadostoredprocedure
spFORGALOM.Parameters.ParamValues['@MUV']:='INS';
spFORGALOM.ExecProc;
pozicio_id:=spFORGALOM.Parameters.ParambyName('@visszaid').Value;
I've set a breakpoint at the pozicio_id line ... and the @visszaid value is null ... how come? I wish to have the ID of
the currently inserted line.