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());
```
相关推荐
武文斌771 分钟前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
Javatutouhouduan3 分钟前
Java程序员如何深入学习JVM底层原理?
java·jvm·java面试·后端开发·java架构师·java程序员·互联网大厂
爱吃喵的鲤鱼4 分钟前
仿mudou——Connection模块(连接管理)
linux·运维·服务器·开发语言·网络·c++
CoderIsArt8 分钟前
SQLite架构
数据库·sqlite
beyond谚语11 分钟前
C#学习小笔记(完整版)—— Patience
c#
王嘉俊92512 分钟前
设计模式--享元模式:优化内存使用的轻量级设计
java·设计模式·享元模式
爱吃小胖橘29 分钟前
Unity网络开发--超文本传输协议Http(1)
开发语言·网络·网络协议·http·c#·游戏引擎
lixora33 分钟前
银河麒麟高级服务器操作系统(ADM64 版)V10(SP1)搭建 Oracle 19c RAC
数据库
郝学胜-神的一滴37 分钟前
使用Linux的read和write系统函数操作文件
linux·服务器·开发语言·数据库·c++·程序人生·软件工程
哲Zheᗜe༘1 小时前
了解学习MySQL数据库基础
数据库·学习·mysql