Wie erhalte ich die C # Abfrage Komponente zu erkennen Spalt Daten aus einer temporären Tabelle in einer SQL gespeicherten Prozedur zurück

StackOverflow https://stackoverflow.com/questions/204155

Frage

Ich habe unten eine gespeicherte Prozedur ähnlich den erstellt (ich verwende diese Version abgeholzt, um zu versuchen und unser, das Problem).

CREATE PROCEDURE bsp_testStoredProc
AS
BEGIN

CREATE TABLE #tmpFiles  
(
    AuthorName NVARCHAR(50), 
    PercentageHigh INT
) 

-- Insert data into temp table

SELECT AuthorName, PercentageHigh FROM #tmpFiles 
ORDER BY PercentageHigh DESC

DROP TABLE #tmpFiles

RETURN 0
END

Von meiner C # -Code in VS2008, ich versuche, die Query-Komponente mit dem Verwenden Sie die Möglichkeit, existierende gespeicherte Prozedur Option dies zu einer Datatable / Datagridview anzuschließen, um die Ergebnisse anzuzeigen.

Da ich aus einer temporären Tabelle bin die Auswahl in den Query-Komponente Eigenschaften Visual Studio zeigt keine Spalten von der gespeicherten Prozedur zurückgegeben werden. Ich gehe davon aus, dass es Schwierigkeiten der Bestimmung der Datentypen verwendet werden, da die SP nicht auf einem realen Schema basiert.

In den verschiedenen gespeicherten Prozeduren anschließen, die aus realen Tabellen wählen die Spalten richtig zeigen.

Hat um den jemand weiß weg? Gibt es irgendeine Art von Hinweis kann ich hinzufügen irgendwo explizit angeben, über welche Art von Daten zurückgegeben werden?

Vielen Dank im Voraus.

War es hilfreich?

Lösung

Für Informationen, könnte man überlegen mit einem „Table-Variable“ und nicht als eine temporäre Tabelle (das heißt @FOO statt #FOO.) - dies könnte ein wenig helfen, und es hilft sicherlich einige tempdb Problemen

Mit temporären Tabellen - nicht gibt es keine Möglichkeit, das SPs Schema explizit erklärt. Ich würde vielleicht vorschlagen, eine vereinfachte Version des SP verwenden, während Sie Ihre Wrapper-Klassen generieren - d. H haben sie eine triviale SELECT der richtigen Form tun

Alternativ würde ich LINQ verwenden, um eine UDF zu konsumieren, die hat haben explizites Schema.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top