C# Komischer Fehler mit StoredProcedure

Murphy9904

Lt. Junior Grade
Registriert
Mai 2007
Beiträge
344
Hi,

ich hab einen Komischen Fehler und komme da nicht weiter.
also ich habe eine StoredProcedure die mir den Nächsten Liefertermin für einen Artikel zurückgibt. Diese hatte nicht ich gemacht und sie Funktioniert super.
Ich brauche nun aber eine Funktion alle nächsten Termiene zu bekommen und habe mir dann eine neue Procedure geschrieben welche mir mehrere Daten zurückgibt.

beim einbinden im Kontext im Visual studio checkt der den Rückgabewert aber nicht und ich kann somit aus dem Code nicht drauf zugreifen.

was könnte ich Falsch machen?

vEqCVa8Lzh.PNG

EIRmcW1yuO.PNG


ich benutze Visual studio 2010 und die Datenbank is MSSQL
wenn ihr sonst noch was dazu wissen braucht sagt bescheid

Ich währe wirklich dankbar wenn mir jemand helfen könnte denn das ist recht wichtig :)

Danke schonmal

Murphy
 
Hast du denn den Rückgabetyp in der Stored Procedure richtig oder überhaupt definiert?

Müsste ja in etwa so aussehen:

Code:
ALTER FUNCTION [dbo].[Funktionsname]
(
   @Type int, 
   @Value uniqueidentifier,
   @MachineName nvarchar(255)
)
RETURNS
@Variablenname TABLE
(
   ID uniqueidentifier
   ,GUID uniqueidentifier
   ,Name nvarchar(256)
   ,Label nvarchar(256)

)
AS
BEGIN

Bei mir bekomme ich als Rückgabewert einen Table mit den definierten Feldern zurück
 
nein das hab ich nicht gemacht.

wenn ich das so versuche wie du schreibst bringt er mit Syntax Errors

ist das so denn richtig:?

mj5u9JanQ8.PNG

Ergänzung ()

Ich glaub ich hab was wichtiges vergessen:

Ich rufe nicht direkt die Procedure aus Visual studio auf sondern durch eine 2.



Der Hintergrund ist der die eigentliche Funktion auf einer Alten Datenbank ist zu der keine Verbindung zum Programm bestehen soll/kann
deswegen rufe ich die Procedure Über eine andere über einen LinkedServer auf.
 
Eine Procedure kann nichts zurückliefern, du musst schon eine Function benutzen.
Die Tabelle @Result kannst du auch nicht so zuweisen, du musst die gewünschten Zeilen dort hinzufügen.

Du kannst auch den direkten Weg probieren:
Code:
RETURNS TABLE 
AS
RETURN 
(
	SELECT ...
)
 
Sooo ich hab jetzt ne arg geschummelte Lösung gefunden aber es funktioniert zumindest

also ich hab die Procedure geändert dass ich einfach ein select auf Getdate gemacht habe
t7KqeHphR5.PNG

dann hab ich sie in Visual Studio eingefügt
und dann wieder zurückgeändert
1u6kgoZVL5.PNG


tadaa

Funktioniert

dafür wie viel stress ich damit schon hatte reicht mir das jetzt.
 
Zurück
Oben