パラメーターを使用した C# ストアド プロシージャの実行: 包括的なガイド
ストアド プロシージャは、C# アプリケーション内で挿入、更新、削除などのデータベース操作を実行するための堅牢かつ効率的な方法を提供します。 このアプローチにより、SQL コマンドを直接実行する場合に比べて、パフォーマンス上の利点が得られ、モジュール性が強化されます。このチュートリアルでは、C# を使用してパラメーターを受け入れるストアド プロシージャを呼び出す方法を示します。
ストアド プロシージャを理解する
ストアド プロシージャ sp_Add_Contact
がすでに定義されていると仮定します。このプロシージャは、@FirstName
と @LastName
の 2 つのパラメーターを受け入れます。 この手順により、新しい連絡先レコードがデータベースに挿入されます。
データベース接続の確立
まず、SqlConnection
オブジェクトを作成してデータベースへの接続を確立します。この接続はプロセス全体を通じて利用されます。
<code class="language-csharp">using (SqlConnection con = new SqlConnection(dc.Con)) { // Database operations will be performed within this block }</code>
SqlCommand オブジェクトの準備
次に、SqlCommand
ストアド プロシージャを表す sp_Add_Contact
オブジェクトをインスタンス化します。 重要なのは、CommandType
プロパティを StoredProcedure
に設定して、直接 SQL クエリではなくストアド プロシージャを使用していることを示すことです。
<code class="language-csharp">using (SqlCommand cmd = new SqlCommand("sp_Add_contact", con)) { cmd.CommandType = CommandType.StoredProcedure; // Parameter additions and execution will occur here }</code>
コマンドへのパラメータの追加
cmd
メソッドを使用して、入力パラメータを Parameters.Add
オブジェクトに追加します。パラメーター名、データ型 (SqlDbType
) を指定し、アプリケーションのユーザー インターフェイス コントロールから値を割り当てます。
<code class="language-csharp">cmd.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = txtFirstName.Text; cmd.Parameters.Add("@LastName", SqlDbType.VarChar).Value = txtLastName.Text;</code>
ストアド プロシージャの実行
パラメータを定義すると、ストアド プロシージャを実行する準備が整います。 ExecuteNonQuery
メソッドを使用してコマンドをデータベースに送信し、変更を適用します。
<code class="language-csharp">con.Open(); cmd.ExecuteNonQuery(); con.Close();</code>
実行後のデータの更新
ストアド プロシージャが正常に実行された後、アプリケーションに表示されるデータを更新する必要がある場合があります。 Clear
で Fill
および DataTable
操作を使用して、更新されたデータベースの状態を反映します。
<code class="language-csharp">dt.Clear(); da.Fill(dt);</code>
以上がC# からパラメーターを使用してストアド プロシージャを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。