0

對於給定的SQL存儲過程或函數,我試圖在我創建的用於瀏覽對象並顯示其參數和其他屬性的Winforms應用程序中獲取其輸入和輸出參數。檢索SQL存儲過程和函數的輸入和輸出參數?

到目前爲止,我已經發現了SQL系統功能OBJECT_DEFINITION,這需要一個給定的sysobjects.id並返回該對象的文本;也通過搜索this post發現,其中描述了使用ADO.NET方法在應用上下文中提取參數DeriveParameters與某些緩存結合使用以獲得更好的性能;並在Hidden Features of SQL Server上發現了一些有用的系統存儲過程。

我傾向於實施DeriveParameters方法在我的C#應用​​程序,因爲解析的OBJECT_DEFINITION輸出顯得凌亂,而我還沒有發現在該職位的隱藏功能,到目前爲止,會做的伎倆。

導出參數適用於函數和存儲過程以便檢索參數,如果有的話,有人可以提供一個例子嗎?

回答

2

請試試這個:

select 
PARAMETER_NAME, 
DATA_TYPE, 
CHARACTER_MAXIMUM_LENGTH, 
PARAMETER_MODE, 
NUMERIC_PRECISION, 
NUMERIC_SCALE 
from INFORMATION_SCHEMA.PARAMETERS 
where specific_name = @chvProcName 
order by ordinal_position 

找PARAMETER_MODE它會得到這個信息OUT

的值從here

HTH

+0

謝謝,這肯定是有幫助的;如果我在.NET中沒有看到任何特定於DeriveParameters方法的響應,我會給你答案。 – 2010-04-23 18:35:28