带参数的 C# 存储过程执行:综合指南
存储过程提供了一种健壮且高效的方法,用于在 C# 应用程序中执行数据库操作,例如插入、更新和删除。 与直接执行 SQL 命令相比,这种方法具有性能优势并增强了模块化性。本教程演示如何使用 C# 调用接受参数的存储过程。
理解存储过程
假设您已经定义了一个存储过程 sp_Add_Contact
,它接受两个参数:@FirstName
和 @LastName
。 此过程会将新的联系人记录插入到您的数据库中。
建立数据库连接
首先创建一个 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中文网其他相关文章!