首页 >后端开发 >C++ >如何从 C# 调用带参数的存储过程?

如何从 C# 调用带参数的存储过程?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-23 12:56:10630浏览

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

带参数的 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 使用 FillDataTable 操作来反映更新的数据库状态。

<code class="language-csharp">dt.Clear();
da.Fill(dt);</code>

以上是如何从 C# 调用带参数的存储过程?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn