Dapper学习笔记(5)-存储过程
一、无参存储过程
第一步:创建一个不带参数的存储过程,代码如下:
1 CREATE PROCEDURE [dbo].[QueryRoleNoParms] 2 3 AS 4 BEGIN 5 SELECT * FROM T_Role; 6 END
第二步:执行存储过程,返回结果,代码如下:
1 private List<Role> ExecuteStoredProcedureNoParms() 2 { 3 using (IDbConnection con = OpenConnection()) 4 { 5 List<Role> roleList = new List<Role>(); 6 roleList = con.Query<Role>("QueryRoleNoParms", 7 null, 8 null, 9 true, 10 null, 11 CommandType.StoredProcedure).ToList(); 12 return roleList; 13 } 14 }
二、带输入输出参数的存储过程
第一步:创建一个带输入输出参数的存储过程,代码如下:
1 CREATE PROCEDURE [dbo].[QueryRoleWithParms] 2 @RoleId int, 3 @RoleName nvarchar(256)='' out 4 AS 5 BEGIN 6 SELECT @RoleName = RoleName FROM T_Role WHERE RoleId =@RoleId 7 END
第二步:执行存储过程,返回执行结果,代码如下:
1 private string ExecuteStoredProcedureWithParms() 2 { 3 DynamicParameters dp = new DynamicParameters(); 4 dp.Add("@RoleId", "1"); 5 dp.Add("@RoleName", "", DbType.String, ParameterDirection.Output); 6 using (IDbConnection con = OpenConnection()) 7 { 8 con.Execute("QueryRoleWithParms", dp, null, null, CommandType.StoredProcedure); 9 string roleName = dp.Get<string>("@RoleName"); 10 return roleName; 11 } 12 }