Gegeben eine gespeicherte Prozedur, ich möchte den Parameter daraus extrahieren.Wie kann ich Parameter aus Stored Procedure in SQL Server 2005 extrahieren?
Wie kann ich das in .net?
Gegeben eine gespeicherte Prozedur, ich möchte den Parameter daraus extrahieren.Wie kann ich Parameter aus Stored Procedure in SQL Server 2005 extrahieren?
Wie kann ich das in .net?
Sie können die folgende SQL-Abfrage in SQL Server 2005 ausführen. Sie können dieselbe Abfrage natürlich unter Verwendung der Klasse SqlCommand
aufrufen.
SELECT
p.name,
p.object_id,
pm.parameter_id,
pm.name AS parameter_name,
pm.system_type_id AS parameter_system_type_id,
pm.max_length AS parameter_max_length,
t.name AS type_name
FROM sys.procedures p
JOIN sys.parameters pm ON p.object_id = pm.object_id
JOIN sys.types t ON pm.system_type_id = t.system_type_id
WHERE p.name = 'sprocName'
Natürlich ist die procedures
, parameters
und types
Systemansichten andere interessante gespeicherte Prozedur und Parameterinformationen als auch enthalten. Diese Abfrage ist nur eine Auswahl.
Sie sollten den SqlCommandBuilder.DeriveParameter verwenden, der freigegeben (VB.NET) oder Static (C#) ist, an den Sie den SqlCommand übergeben: DeriveParameter on MSDN. Sie müssen nur einen SqlCommand erstellen, den Namen der gespeicherten Prozedur festlegen, diese Methode aufrufen und die SqlCommand.Parameters-Eigenschaft anzeigen.
Argh - du hast mich geschlagen :-) Gute Antwort! –
Sorry dafür ;-) –