ホームページ >バックエンド開発 >C++ >C# でパラメーターを使用してストアド プロシージャを呼び出す方法

C# でパラメーターを使用してストアド プロシージャを呼び出す方法

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-23 12:52:10242ブラウズ

How to Call a Stored Procedure with Parameters in C#?

C# でパラメーターを使用してストアド プロシージャを呼び出す

質問:

C# コードからパラメーターを使用してストアド プロシージャを呼び出すにはどうすればよいですか? コマンド文字列を使用して挿入、更新、削除の操作を実行できますが、ストアド プロシージャの処理方法がわかりません。

これは、コマンド文字列を使用してデータを正常に挿入する現在のコードです:

<code class="language-csharp">private void btnAdd_Click(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection(dc.Con);
    SqlCommand cmd = new SqlCommand("Command String", con);

    da.InsertCommand = new SqlCommand("INSERT INTO tblContacts VALUES (@FirstName, @LastName)", con);
    da.InsertCommand.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = txtFirstName.Text;
    da.InsertCommand.Parameters.Add("@LastName", SqlDbType.VarChar).Value = txtLastName.Text;

    con.Open();
    da.InsertCommand.ExecuteNonQuery();
    con.Close();

    dt.Clear();
    da.Fill(dt);
}</code>

答え:

パラメーターを使用してストアド プロシージャを呼び出すには、次の手順に従います。

  1. SqlCommand オブジェクトを作成し、その CommandType プロパティを CommandType.StoredProcedure に設定します。
  2. Parameters コレクションを使用して、SqlCommand オブジェクトにパラメーターを追加します。各パラメータでは、その名前、データ型、および値を指定する必要があります。
  3. データベース接続を開き、SqlCommand を実行します。

次の更新されたコードは、2 つのパラメーターを使用して sp_Add_contact ストアド プロシージャを呼び出す方法を示しています。

<code class="language-csharp">private void button1_Click(object sender, EventArgs e)
{
    using (SqlConnection con = new SqlConnection(dc.Con))
    {
        using (SqlCommand cmd = new SqlCommand("sp_Add_contact", con))
        {
            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@FirstName", txtFirstName.Text);
            cmd.Parameters.AddWithValue("@LastName", txtLastName.Text);

            con.Open();
            cmd.ExecuteNonQuery();
        }
    }

    dt.Clear();
    da.Fill(dt);
}</code>
コードの可読性と保守性を向上させるために、

メソッドを使用してパラメーターを追加することをお勧めします。これにより、パラメーターのデータ型が自動的に推測されます。 ストアド プロシージャ AddWithValue が実際に存在し、パラメータ名がコード内のパラメータ名と一致していることを確認してください。 sp_Add_contact

以上がC# でパラメーターを使用してストアド プロシージャを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。