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

操作存储过程

复制代码
##### 1. 无参数存储过程

```cs
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. 带输出(输入)参数存储过程

```cs
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());
```
相关推荐
qeen873 分钟前
【Linux】make/Makefile 自动化工具的介绍
linux·运维·服务器·自动化
朱容zr3331337 分钟前
为什么推荐使用自增主键?使用UUID作为主键的优缺点是什么?
java·运维·数据库·后端·mysql·面试·性能优化
麻瓜code11 分钟前
【Redis 】数据类型、持久化与过期删除
数据库·redis·缓存
空杆推不起19 分钟前
穿透 Flink CDC 表层用法:数据库日志捕获机制、Flink Source 运行时、端到端一致性底层原理详解
大数据·数据库·flink
殷忆枫38 分钟前
Linux 4G模块驱动适配实战:从手动绑定到自动识别
linux·运维·服务器
知彼解己39 分钟前
Eclipse Temurin:企业级 Java JDK 发行版的最佳实践
java·ide·eclipse
朱容zr33313340 分钟前
请解释“回表”的概念。
java·前端·数据库
不吃辣49041 分钟前
vibe coding | 如何做一个 AI 音乐生成工具?
java·人工智能·后端·ai·ai编程
NWU_LK1 小时前
【WebFlux】第八篇 —— 自定义调度器
java
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第210题】【10_网络协议篇】第1题:说说 TCP/IP 网络五层模型
java·网络协议·tcp/ip·计算机网络·网络五层模型