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());
```
相关推荐
倔强的石头1063 小时前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
java·运维·开发语言
Shaoshing3 小时前
ThreadLocal
java·jvm·threadlocal
写后端的胖头鱼4 小时前
一文详解CAS
java·jvm·spring·cas·乐观锁·自旋
鱼宵4 小时前
Spring AI 提示词模板:{变量} 参数化 + few-shot,一条提示词反复用
java·人工智能·spring·few-shot·提示词工程·springai
蜗牛互联网4 小时前
Python消费Responses SSE事件:增量文本、超时与取消
java·开发语言·人工智能·后端·python
wanderist.4 小时前
线性筛法详解:从筛质数到欧拉函数、Möbius 函数与约数函数
java·数据结构·算法
Android系统攻城狮4 小时前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_samples_min调用流程与实战(六十)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
Nturmoils5 小时前
GROUP BY 先别想当然,查汇总前把规则跑清楚
数据库
Escalating_xu5 小时前
【C 语言】深入理解指针(5):sizeof、strlen、数组名语义与指针笔试题全解析
java·c语言·开发语言
最笨的羊羊5 小时前
Oceanbase数据库系列之:向量数据库核心知识
数据库·oceanbase