Announcement

Collapse
No announcement yet.

Rückgabewerte Stored Procedure

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Rückgabewerte Stored Procedure

    Hallo!

    Ich versuche mich gerade daran, einen (oder mehere) Rückgabewert(e) einer Stored Procedure (MS SQL Server Express 2008 R2) an mein VB.NET Programm zu übergeben.

    mittels
    Code:
    CREATE PROCEDURE sp_tbladressen 
    	
    	@prmid int,
    	@prmname varchar(30) output,
    	@prmvorname varchar(30) output
    	 
    	
    AS
    BEGIN
    	
    	SET NOCOUNT ON;
    
        
    	select Name, vorname from tbladressen where ID = @prmid
    	
    END
    in der stored procedure bekomme ich genau eine Zeile zurück. Nun möchte ich die Felder Name und Vorname über output Paramater zurückgeben.

    Ich weiß, wie man die SP in eine datatable einliest.

    Aber da diese SP immer nur eine Zeile zurückgibt, wäre es schön, wenn ich die Output Parameter direkt einlesen könnte und nicht den Umweg über eine datatable gehen müsste.


    Vielen Dank für einen Hinweis.

  • #2
    Code:
    ...
    select @prmname = Name, @prmvorname = vorname from tbladressen where ID = @prmid
    ...
    bye,
    Helmut

    Comment


    • #3
      Hallo, Helmut!

      Das ging ja schnell, vielen Dank! Eigentlich ganz einfach, (wenn man es weiß).

      Aber wie übergebe ich die beiden Parameter an mein Programm, indem ich nur einmal die Prozedur aufrufe?
      Für einen Paramater habe ich eine Lösung unter http://devstack.net/wordpress/?p=208

      gefunden. Aber wie mach ich es für mehere Parameter?

      Code:
      Dim strNAme as string 
      dim strVorname as string
      
      strName = ....'Übergebener Parameter aus sqlcommand @prmname
      strvorname = .... 'Übergebener Parameter aus sqlcommand @prmVorname

      Comment


      • #4
        Verstehe ich jetzt nicht - man kann ja je Prozedur bis zu 2100 Parameter angeben, von denen jeder entweder ein Input- oder ein Output-Parameter sein kann. Also einfach so definieren, wie du es in deiner ersten Anfrage geschrieben hast.

        bye,
        Helmut

        Comment

        Working...
        X