Dapper -- 調用存儲過程

只帶輸入參數存儲過程的使用

CREATE PROCEDURE [dbo].[QueryMember] 
@MemberId varchar(50)='',
@Name varchar(50)=''
AS
BEGIN
    SELECT * FROM Member where MemberID=@MemberId and Name=@Name;
END

public void UseStoredProcedure()
{
     var info = Database.Query<int>("QueryMember", new
                                    {
                                       MemberId = "20192225",
                                       Name = "張三"
                                     },
     commandType: CommandType.StoredProcedure);
     
}

帶輸入輸出存儲過程的使用

CREATE PROCEDURE [dbo].[QueryMember] 
@MemberId varchar(50)='',
@Name varchar(50)='',
@errorFlag int output, --錯誤標誌
@errorMsg varchar(200) output --錯誤信息
AS
BEGIN
    SELECT * FROM Member where MemberID=@MemberId and Name=@Name;
    select @errorflag=0,@errormsg='查詢成功'
END
public string UseStoredProcedure()
{
       DynamicParameters dp = new DynamicParameters();
       dp.Add("@MemberId", "2019595");
       dp.Add("@Name", "張三");
       dp.Add("@errorMsg", "", DbType.String, ParameterDirection.Output);
       dp.Add("@errorFlag", "", DbType.Int32, ParameterDirection.Output);
       Database.Execute("QueryMember", dp, null, null, CommandType.StoredProcedure);
       string errorMsg = dp.Get<string>("@errorMsg");
       int errorFlag = dp.Get<int>("@errorFlag");
       retrun errorMsg;
}

不帶參數的存儲過程的使用

CREATE PROCEDURE [dbo].[QueryMember] 
AS
BEGIN
    SELECT * FROM Member 
END
public List<Member> UseStoredProcedure()
{
    List<Member> MemberList = new List<Member>();
    MemberList = Database.Query<Member>("QueryMember",
                     null,
                     null,
                     true,
                     null,
                     CommandType.StoredProcedure).ToList();
   return MemberList;
}
發佈了65 篇原創文章 · 獲贊 33 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章