Dapper学习笔记(5)-存储过程
一、无参存储过程
第一步:创建一个不带参数的存储过程,代码如下:
CREATE PROCEDURE [dbo].[QueryRoleNoParms] AS
BEGIN
SELECT * FROM T_Role;
END
第二步:执行存储过程,返回结果,代码如下:
private List<Role> ExecuteStoredProcedureNoParms()
{
using (IDbConnection con = OpenConnection())
{
List<Role> roleList = new List<Role>();
roleList = con.Query<Role>("QueryRoleNoParms",
null,
null,
true,
null,
CommandType.StoredProcedure).ToList();
return roleList;
}
}
二、带输入输出参数的存储过程
第一步:创建一个带输入输出参数的存储过程,代码如下:
CREATE PROCEDURE [dbo].[QueryRoleWithParms]
@RoleId int,
@RoleName nvarchar()='' out
AS
BEGIN
SELECT @RoleName = RoleName FROM T_Role WHERE RoleId =@RoleId
END
第二步:执行存储过程,返回执行结果,代码如下:
private string ExecuteStoredProcedureWithParms()
{
DynamicParameters dp = new DynamicParameters();
dp.Add("@RoleId", "");
dp.Add("@RoleName", "", DbType.String, ParameterDirection.Output);
using (IDbConnection con = OpenConnection())
{
con.Execute("QueryRoleWithParms", dp, null, null, CommandType.StoredProcedure);
string roleName = dp.Get<string>("@RoleName");
return roleName;
}
}
Dapper学习笔记(5)-存储过程的更多相关文章
- Dapper学习笔记(1)-开始
Dapper是一款开源的轻量级ORM工具,源代码下载地址为https://github.com/StackExchange/dapper-dot-net,其具有以下特点: 1.Dapper是一个轻型的 ...
- Dapper学习笔记(一)
https://github.com/StackExchange/dapper-dot-net Dapper是对IDbConnection的扩展,需要使用Dapper提供的扩展只需要把SqlMappe ...
- Dapper学习笔记(4)-事务
Dapper中对事务的处理也非常简单,如下代码所示: private void DapperTransaction() { using (IDbConnection con = OpenConnect ...
- Dapper学习笔记(2)-链接引用
在研究Dapper源码时发现Dapper NET45类库中的SqlMapper.cs文件前面有个蓝色的箭头图标,发现在Dapper NET45文件夹下根本不存在SqlMapper.cs文件,其文件属性 ...
- MySQL学习笔记(四)—存储过程
一.概述 存储过程是数据库定义的一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句.存储过程可以避免开发人员重复的编写相同的SQL语句,而且存储过程是在MySq ...
- MySql学习笔记(五) —— 存储过程
存储过程是MySql 5支持的特性,它是一组为了完成特定功能的SQL语句集,经过编译之后存储在数据库中,当需要使用该组SQL语句时用户只需要通过指定储存过程的名字并给定参数就可以调用执行它了,简而言之 ...
- Oracle学习笔记之存储过程
...
- PL/SQL学习笔记之存储过程
一:PL/SQL的两种子程序 子程序:子程序是执行一个特定功能.任务的程序模块.PL/SQL中有两种子程序:函数 和 过程. 函数:主要用于计算并返回一个值. 过程:没有直接返回值,主要用于执行操 ...
- [C#]Dapper学习笔记
1.安装,直接用nuget搜索Dapper就行,不过只支持框架4.5.1 2.数据库测试表 CREATE TABLE [dbo].[Student]( [ID] [bigint] NULL, ) NU ...
随机推荐
- (十三)Packet socket 和 sockaddr_ll
描述 本文简单描述了数据链路层的socket使用的两种方法正文 Linux下有两种方式接收数据链路层的数据包: (1)原始的方法,即创建一个类型为SOCK_PACKET的s ...
- PHP 文件的操作
操作文件的步骤: 1.打开文件2.做操作PS!!!3.关闭文件 打开 操作
- 解决Maven的Could not update project XXX configuration NullPointerException 错误
1. 从eclipse删除这个项目,但不要从磁盘删除: 2. 关闭eclipse: 3. 删除项目目录下的:.settings目录: 4. 删除项目目录下的:.projects目录: 5. 删除项目目 ...
- adb pull apk
adb shell pm list packages adb shell pm path com.tence01.mm find -name *.apk adb pull /data/app/com. ...
- Python’s SQLAlchemy vs Other ORMs[转发 3]Django's ORM
Django's ORM Django is a free and open source web application framework whose ORM is built tightly i ...
- WordPress网站搭建
. 1.进入 var/www/html中放入里的文件 2.. 安装http php php-sql [root@jw38 yum.repos.d]# systemctl restart httpd.s ...
- Ecshop 后台增加一个左侧列表菜单menu菜单的方法
Ecshop 后台增加一个左侧列表菜单menu菜单需要修改三个文件:/admin/includes/inc_menu.php/admin/includes/inc_priv.php/languages ...
- 利用dmidecode 查看服务器的信息技巧
Please refer to the link: http://www.laozuo.org/6682.html
- Java--静态区域块
public class Demo3_2 { static int i=1; static //静态区域块 { //该静态区域块只被执行一次 System.out.println("a&qu ...
- Scala 的确棒
我的确认为计算机学院应该开一门 Scala 的语言课程. 在这篇文章中,我会讲述为什么我会有这样的想法,在此之前,有几点我想要先声明一下: 本文无意对编程语言进行评比,我要讲述的主体是为什么你应该学习 ...