当前位置: 首页 > article >正文

C#操作SqlServer数据库存储过程

  • 操作存储过程

    • 1. 无参数存储过程
      1. 连接数据库
      string connString = @"Server=192.168.113.74,51187\SQLEXPRESS;DataBase=SMDB;Uid=sa;Pwd=123456";
      conn = new SqlConnection(connString);
      conn.Open();
      //2 定义存储过程名称
      string proceName = "usp_ScoreQuery1";
      //3 创建一个指令对象
      SqlCommand cmd = new SqlCommand();
      //4 添加执行sql语句和设置连接对象
      cmd.CommandText = proceName;// 添加执行的sql
      cmd.Connection = conn; //设置连接对象
      //5 执行命令类型
      cmd.CommandType = System.Data.CommandType.StoredProcedure;
      //6 执行语句
      SqlDataReader dr = cmd.ExecuteReader();
      // 关闭数据库
      conn.Close();

    • 2. 带输出(输入)参数存储过程
      1. 连接数据库
      string connString = @"Server=192.168.113.74,51187\SQLEXPRESS;DataBase=SMDB;Uid=sa;Pwd=123456";
      conn = new SqlConnection(connString);
      conn.Open();
      //2 定义存储过程名称
      string proceName = "usp_ScoreQuery1";
      
      //3 创建一个指令对象
      SqlCommand cmd = new SqlCommand();
      //4 添加执行sql语句和设置连接对象
      cmd.CommandText = proceName;// 添加执行的sql
      cmd.Connection = conn; //设置连接对象
       //5 设置参数
       //定义参数方法1
       SqlParameter csharp = new SqlParameter();
       csharp.ParameterName = "@CSharp";// 设置csharp是存储过程中对应@CSharp输入参数
       csharp.Direction = ParameterDirection.output;//设置为输出参数
       csharp.Value = 180;// 设置参数的值为180
       csharp.SqlDbType = SqlDbType.Int; //设置参数类型
       cmd.Parameters.Add(csharp); // 把输入参数添加到参数列表里面
       // 定义参数方法2 @SqlserverDB
      cmd.Parameters.Add(new SqlParameter() { 
          ParameterName = "@SqlserverDB",
          Direction = ParameterDirection.Input,
          Value = 180,
          SqlDbType = SqlDbType.Int,
      });
      //6 执行命令类型
      cmd.CommandType = System.Data.CommandType.StoredProcedure;
      //7 执行语句
      SqlDataReader dr = cmd.ExecuteReader();
      // 关闭数据库
      conn.Close();
      //8 获取输出参数(返回值)
      messageBox.Show(cmd.Parameters.tostring());


http://www.kler.cn/news/341342.html

相关文章:

  • MYSQL-INNODB索引构成详解
  • Unity实现自定义图集(五)
  • Java重修笔记 第六十四天 坦克大战(十四)IO 流 - 标准输入输出流、InputStreamReader 和 OutputStreamWriter
  • go怎么处理线程之间的交互
  • Ubuntu20.04卸载ros2 foxy版本安装ros1 noetic版本
  • PigGo的安装配置
  • 网络安全-IPv4和IPv6的区别
  • 从0到1:企事业单位知识竞赛答题小程序迭代开发笔记一
  • Linux: debug: perf: report: --sort
  • 导出ES数据到excel
  • HashMap 和 Hashtable 有什么区别?
  • 基于Springboot vue应急物资供应管理系统设计与实现
  • Python 代码执行失败问题及解决方案
  • 基于遗传粒子群算法的无人机路径规划【遗传算法|基本粒子群|遗传粒子群三种方法对比】
  • 代码随想录day25:贪心part3
  • JavaScript 命令模式实战:打造可撤销的操作命令
  • C语言 | Leetcode C语言题解之第460题LFU缓存
  • Java日志(总结)
  • K8sGPT 实战:智能化 Kubernetes 集群诊断与问题解决
  • Windows 11 24H2版本有哪些新功能_Windows 11 24H2十四大新功能介绍