- PR -

ストアドプロシージャのパラメータ名・型の取得

1
投稿者投稿内容
land
会議室デビュー日: 2004/02/25
投稿数: 6
投稿日時: 2004-03-12 11:36
お世話になります。
VB.Net + SQLServer2000 で 
ストアドプロシージャについて質問させて下さい

現在、ストアドプロシージャ操作の汎用クラスを作成しようとしているのですが、
ストアド名から、そのストアドのパラメータ情報を取得する必要が出てきました。

自分は
SqlCommand.Parameters.Add(〜)  で初期化し、
SqlCommand.Parameters(〜) = Value で挿入する方法しか
パラメータ設定の方法を知りません。

使用するストアドが決まっていればこれでいいのですが、
複数のストアドに対応しようとすると
.Add(〜) の前にパラメータ情報を取得して、
その情報をもとに、上記操作を行う必要があります。

どなたかストアドのパラメータ情報を取得する方法をご存知の方
ご教授お願いします。
Nocturne
会議室デビュー日: 2004/01/27
投稿数: 6
投稿日時: 2004-03-12 12:57
ストアド プロシージャのパラメータでしたら、SqlCommandBuilder クラスの DeriveParameters メソッドで取得できます。

下記のリンク先でダウンロードできる、
Data Access Application Block for .NET のソース コードで、
先の DeriveParameters メソッドを含め、取得した SqlParameterCollection のキャッシュ、ExecuteNonQuery メソッドなどのラッパーといった、
データアクセス汎用クラス作成の模範が示されているので、一度、ご覧になられるといいですよ。

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daab-rm.asp
land
会議室デビュー日: 2004/02/25
投稿数: 6
投稿日時: 2004-03-12 13:39
Nocturneさん、ご回答ありがとうございます。

おっしゃるとおり、SqlCommandBuilder クラスの
DeriveParameters メソッドで取得できました。
ありがとうございました。

サンプルサイトまで示して頂き恐縮です。
英語なので、ゆっくり読んでいくことにします。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)