Visual Studio で、ストアドプロシージャのパラメータを知る方法
SqlDataSourceを使ってストアドプロシージャを呼び出す場合、ウィザードに従えばパラメータ(引数)が自動生成され、データ型まで自動でセッティングしてくれて便利ですね。
一方で、〜.aspx.cs や〜.aspx.vb 等のコードページでは、相変わらずこんなコードをちまちま書く必要があります。
using (SqlCommand cmd = cn.CreateCommand()) { cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = @"upTest"; cmd.Parameters.Add("@id", SqlDbType.Int).Value = 123; cmd.Parameters.Add("@name", SqlDbType.NVarChar, 10).Value = "こばりん"; cmd.ExecuteNonQuery(); }
コーディングなので仕方ないですが、
少なくとも「パラメータを知るためだけにわざわざSQL Server Management Studioを開く」
などというリソースの無駄遣いは避けたいので、対策(になっていませんが)を示します。
- Visual Studio(ここでは2008)の[ツール]メニュー > [データベースの接続]を選ぶと「サーバーエクスプローラ」が開きます。
サーバーエクスプローラウィンドウは、右にあるソリューションエクスプローラ等と合体させてもフローティングのままで使用できますが、そこは個人の好みで判断して下さい。 - 「データ接続」ツリーを選択し、データベース名のツリーを選択
- 「ストアドプロシージャ」を選択し、呼び出したいストアドプロシージャの更に下の階層を開きます
- パラメータが一覧で出てきますので、更にパラメータを1つ1つ選択する
- すると、プロパティウィンドウにデータ型や長さが現れます。
これを見ながらコーディングすれば、少し作業軽減になるかも。
それと、先程のストアドプロシージャを右クリックで「開く」を選択すると、内部コードも開けます。