迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 C# 中执行带参数的存储过程

作者:迹忆客 最近更新:2024/02/01 浏览次数:

在本指南中,你将了解如何在 C# 中使用参数执行/调用存储过程,这意味着如何在存储过程中传递参数。

你将在这本紧凑的指南中从头到尾学习所有内容。让我们潜入吧!


C# 中使用参数执行存储过程

要了解如何在 C# 中调用带参数的存储过程,你需要了解有关存储过程的所有基础知识。

它们是什么,它们用于什么目的?他们的优势是什么?你如何创造和改变它们?

C# 中的存储过程

组装成单个执行计划的 Transact-SQL 语句的集合是一个存储过程。数据库服务器使用称为存储过程的代码块;它是一个预编译实体,编译一次,可以重复使用。

一系列 SQL 语句可以与存储过程一起顺序运行。我们必须使用过程参数来为过程提供数据。

存储过程使用参数映射的概念。前端参数和过程参数的名称、类型和方向必须匹配,前端参数长度必须小于或等于过程参数长度(只能映射参数)。

我们利用 return 语句从过程中返回任何值。

为什么我们在 C# 中使用存储过程

要从数据库中访问数据,你通常会创建 SQL 查询,例如 selectinsertupdate。如果你经常使用相同的查询,则将查询转换为存储过程是有意义的。

每次编写查询时,数据库都会对其进行解析。如果你为它创建了一个存储过程,它可以在解析一次后执行 N 次。

性能也可以通过存储的例程来提高。存储过程,即数据库服务器上的单个执行块,包含所有条件逻辑。

在 C# 中执行带参数的存储过程:代码示例

以下是在 C# 中执行带参数存储过程的步骤:

  • 你需要做的第一件事是添加 using System.Data.SqlClient;使用 System.Data; 程序正上方的库。这些将允许你在 C# 程序中创建存储过程。
  • 在下面的代码示例中,我们通过将数据库的路径传递给字符串来开始创建存储过程。
  • 之后,我们使用 using() 方法创建 Connection 对象 con 并在其中传递路径字符串。
  • 我们需要创建一个 SqlCommand 的对象。我们可以使用这个对象来利用 SQL 命令属性,例如 Connection
  • 之后,我们需要将命令类型指定为 StoredProcedure
  • 要创建带参数的存储过程,我们需要创建一个 SqlParameter 对象并使用该对象来定义我们要传递的参数的名称、数据类型和值。
  • 接下来我们需要做的是给它方向。我们可以将其用作输入、输出或两者兼而有之。
  • 现在,通过使用 AddWithValue(),传递你之前创建的参数对象。
  • 请记住,所有这些都需要在 try-catch 块内完成。获取必须在 catch 块内捕获的数据时可能会出现错误。

示例代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Data;
namespace Stored_procedure {
  internal class Program {
    static void Main(string[] args) {
      // connection with sql
      try {
        // string for connection information
        string con_str = "pass your connection path/information";
        // create connection
        using (SqlConnection con = new SqlConnection(con_str)) {
          // create sqlcommand object
          SqlCommand cmd = new SqlCommand();
          cmd.CommandText = "Write the name of your stored prcedure";
          cmd.Connection = con;
          // specify the command type
          cmd.CommandType = CommandType.StoredProcedure;

          // create object of sqlparameter class
          SqlParameter param = new SqlParameter {
            // set the name of parameter
            ParameterName = "Write your parameter name",
            // set the type of parameter
            SqlDbType = SqlDbType.Int, Value = 2,
            // you can specify the direction of parameter input/output/inputoutput
            Direction = ParameterDirection.InputOutput
          };
          // adding parameter in command
          cmd.Parameters.AddWithValue(param);
          // open connection of db
          con.Open();
          // executing the query
          cmd.ExecuteNonQuery();
        }
      } catch (Exception e) {
        Console.WriteLine(e.Message);
      }
    }
  }
}

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 C# 中复制一个对象

发布时间:2024/02/01 浏览次数:120 分类:编程语言

有两种主要方法可用于在 C# 中创建对象的单独副本,MemberWiseClone()函数和参数化构造函数方法。在 C# 中使用 MemberWiseClone() 方法复制对象

在 C# 上连接到 SQL 数据库

发布时间:2024/02/01 浏览次数:97 分类:编程语言

本教程演示如何使用 SqlConnection 对象连接到 C# 上的 SQL 数据库。本教程将演示如何使用 SqlConnection 对象连接到 C# 上的 SQL 数据库。

在 C# 中选择查询数据库

发布时间:2024/02/01 浏览次数:160 分类:编程语言

关于在 C# 中使用 SELECT 查询设置数据库连接和检索记录的完整编程教程。本文将指导你建立与 C# 应用程序的数据库连接,并使用数据库中的 SELECT 查询从不同的表中获取数据。

在 C# 中使用对象发送器

发布时间:2024/02/01 浏览次数:164 分类:编程语言

在本文中,我们将了解什么是 Object Sender 以及如何在 C# 编程中使用它。本文将讨论什么是对象发送者以及如何在 C# 中使用它。C# 中的对象发送器概述

C# 中的 get 和 set

发布时间:2024/02/01 浏览次数:111 分类:编程语言

get 和 set 访问器用于将数据输入和输出到 C# 中的私有字段中。在本教程中,我们将在 C# 中介绍 get 和 set。

C# 中的字段与属性

发布时间:2024/02/01 浏览次数:164 分类:编程语言

本教程解释了 C# 中字段和属性之间的区别以及何时应该使用它们 本教程将解释 C# 类中字段和属性之间的区别。为了更好地说明这一点,你必须首先了解以下概念。

在 C# 中获取组合框的选定值

发布时间:2024/01/20 浏览次数:156 分类:编程语言

本教程展示了如何在 C# 中获取 ComboBox 的选定值。在本教程中,你将学习在 C# 中获取 ComboBox 的选定文本和值的不同方法。获取 ComboBox 控件的选定值的最常用方法是使用 C# 在按钮单击事件中获取

在 C# 中创建一个 UDP 服务器

发布时间:2024/01/20 浏览次数:161 分类:编程语言

在本文中,我们将学习如何在 C# 中创建 UDP 服务器。本文将展示如何在 C# 中创建一个简单的 UDP 服务器。在 C# 中创建一个 UDP 服务器

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便