TADOStoredProcedure parametre ved runtime-oprettelse
Jeg opretter mine StoredProcs løbende og har opdaget, at de parametre som procedurerne indeholder, ikke indsættes automatisk - sådan som de gør i "Design mode".Er der en måde at hente disse parametre eller skal de oprettes manuelt bagefter?
Bruger som nævnt TADOStoredProc og dette på en MS-SQL database (syntaks: T-Sql)
Et tillægsspørgsmål:
Jeg kan enten vælge at gruppere procedurerne således, at den ene indsætter og den anden opdaterer en record: SetTest;1 og SetTest;2:
CREATE PROCEDURE [dbo].[SetTest];1 @ref int OUTPUT, @navn varchar(20)
AS
INSERT INTO Test (navn) values (@navn)
SET @ref = SCOPE_IDENTITY()
GO
CREATE PROCEDURE [dbo].[SetTest];2 @ref int, @navn varchar(20)
AS
UPDATE Test SET navn = @navn where ref = @ref
GO
eller jeg kan have det samlet i én procedure:
CREATE PROCEDURE [dbo].[SetTest2] @ref int OUTPUT, @navn varchar(20)
AS
IF @ref = 0
BEGIN
INSERT INTO Test (navn) values (@navn)
SET @ref = SCOPE_IDENTITY()
END
ELSE
UPDATE Test SET navn = @navn where ref = @ref
GO
Hvad er bedst? Er der noget der taler for eller imod de to løsninger? Sidstnævntes plus er, at hvis jeg ikke kan oprette TADOStoredProc'erne løbende, så skal jeg kun have én komponent i mit TDataModule
