Kobarin's Development Blog

C#やASP.NET、公開APIなどについての記録です。

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を開く」
などというリソースの無駄遣いは避けたいので、対策(になっていませんが)を示します。

  1. Visual Studio(ここでは2008)の[ツール]メニュー > [データベースの接続]を選ぶと「サーバーエクスプローラ」が開きます。
    サーバーエクスプローラウィンドウは、右にあるソリューションエクスプローラ等と合体させてもフローティングのままで使用できますが、そこは個人の好みで判断して下さい。
  2. 「データ接続」ツリーを選択し、データベース名のツリーを選択
  3. 「ストアドプロシージャ」を選択し、呼び出したいストアドプロシージャの更に下の階層を開きます
  4. パラメータが一覧で出てきますので、更にパラメータを1つ1つ選択する
  5. すると、プロパティウィンドウにデータ型や長さが現れます。

これを見ながらコーディングすれば、少し作業軽減になるかも。
それと、先程のストアドプロシージャを右クリックで「開く」を選択すると、内部コードも開けます。