Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Rückgabewert von stored procedure (https://www.delphipraxis.net/169967-rueckgabewert-von-stored-procedure.html)

Rainer Wolff 23. Aug 2012 06:09

Datenbank: SQL Express • Version: 2008 • Zugriff über: dbx

Rückgabewert von stored procedure
 
Ich versuche nun schon in der gefühlt 1000.sten Abwandlung von Parametern eine Rückgabewert einer storedproc zu erhalten.
Die Stored procedure ist wie folgt definiert:

Code:
USE [mydb]
GO
/****** Object: StoredProcedure [dbo].[inserterror]   Script Date: 08/23/2012 06:33:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[inserterror]
   @fehlernummer int
AS
declare @newid int
BEGIN
   SET NOCOUNT ON;
   insert into [dbo].[ERROR] ([fehlernr],[start],[stop])
   values(@fehlernummer,CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)
   return @@identity
END
Ich kann die procedure aufrufen und ausführen, aber ich komme einfach nicht an den Rückgabewert. Nach Execproc ist immer noch der Eingabeparameter @fehlernummer in den params, fields ist leer.
Ich habe schon versucht, die Parameter als ptInput und ptOutput festzulegen, dann kommt der Fehler, dass zuviele arguments spezified sind.

Bei meiner Firebird-DB steht der Rückgabewert nach ExecProc einfach in den Params, aber mit dem SQL Server komm ich einfach nicht klar.

Gruß Rainer

Ich verwende übrigens Delphi XE

Bummi 23. Aug 2012 09:17

AW: Rückgabewert von stored procedure
 
Wie fragst Du den Rückgabewert ab?
Delphi-Quellcode:
  ADOStoredProc1.ExecProc;
  Showmessage(IntToStr(ADOStoredProc1.parameters.ParamByName('@RETURN_VALUE').Value));
funktioniert unter den von Dir genannten Rahmenbedingungen ...

Rainer Wolff 23. Aug 2012 10:07

AW: Rückgabewert von stored procedure
 
Ich will ja nicht mit ADO auf den Server zugreifen, sondern über DBExpress. Mit ADO funktioniert der Zugriff, aber ich will nicht mit DBX und ADO gleichzeitig auf die Datenbank zugreifen, sondern eine Technik verwenden.
Und an anderen Stellen im Programm hat sich DBX als eindeutig schneller erwiesen, daher will ich bei DBX bleiben.

hoika 23. Aug 2012 16:47

AW: Rückgabewert von stored procedure
 
Hallo,
ParamByName('return_value').value

Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz