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());
```
相关推荐
leonkay3 分钟前
C# 特性(Attribute)——【2】工业设备参数框架设计
经验分享·面试·架构·c#·学习方法·设计
泡海椒8 分钟前
告别手写 HTTP 模板!JQuick-Curl:直接把 curl 命令跑在 Java 中
java·网络协议·http
珍珠先生10 分钟前
第2章 集合框架深度:HashMap 原理与并发集合
java
派小汤31 分钟前
Harmony2.2.0通过RdbStore实现通用类操作本地SQLite数据库
数据库·sql·sqlite·鸿蒙·鸿蒙系统
刚入门的大一新生33 分钟前
Linux-命令行参数和环境变量
linux·运维·服务器
FreeTinker38 分钟前
Java文件服务器的技术选型与实现路径:从嵌入式工具到企业级系统
java·服务器·开发语言
2501_9065651239 分钟前
小创 · 智能助手
开发语言·c#
ly76891 小时前
Java 21 到 Java 26 新特性详解:虚拟线程、模式匹配、结构化并发、HTTP/3 与 AOT
java·jvm
我星期八休息1 小时前
Linux I/O多路转接—epoll
java·linux·运维·服务器·开发语言·jvm·算法
学长毕业设计2 小时前
基于springboot的云南中草药知识普及管理网站的设计与开发(源码+文档+讲解视频)
java·spring boot·后端