存储过程:
-----------------------分隔符
---创建带参存储过程
go
if exists(select * from sysobjects where name='VMode_BaseAndDetail')
drop procedure VMode_BaseAndDetail
go
--创建存储过程
-- =============================================
-- Author: <milijiangjun>
-- Create date: <2019-08-01>
-- Description: <sql server>查询工资状态正常 指定月份和类别的 当月工资信息和劳务费
-- =============================================
create procedure VMode_BaseAndDetail
@CheckTime Date,--- 时间参数
@CheckType nvarchar(50)--类别参数
as
/*******************************************
* 存储过程调用方法:
exec VMode_BaseAndDetail @CheckType = '劳务费',@CheckTime= '2019-07-01'
*******************************************/
begin
select BaseInfo.UserStaffId,BaseInfo.IdentityTypeCard,BaseInfo.UserName ,BaseInfo.IsPractice,Detail.* from SalaryBaseInfo as BaseInfo
inner join SalaryDetail as Detail on BaseInfo.Id = Detail.SalaryBaseInfoId
where BaseInfo.UserSalaryStatus = 1
and BaseInfo.Id in(select Id from SalaryBaseInfo where SalaryInType = @CheckType)
and SalaryMonth = @CheckTime
order by BaseInfo.UserStaffId
end
go
-- 调用存储过程
exec VMode_BaseAndDetail @CheckType = '劳务费',@CheckTime= '2019-07-01'
-----------------------分隔符
调取方法1:
string CheckTime = DateTime.Now.ToString("yyyy-MM") + "-01";
SqlParameter Select_CheckDetailTime_MX = new SqlParameter("@CheckTime", CheckTime);
SqlParameter Select_CheckDetailType_MX = new SqlParameter("@CheckType", "工资明细");
List<BLL.BLLModels.BaseAndDetail> Save_BaseAndDetail = salary.Database.SqlQuery<BLL.BLLModels.BaseAndDetail>("exec VMode_BaseAndDetail @CheckType,@CheckTime", Select_CheckDetailType_MX, Select_CheckDetailTime_MX).ToList();
调取方法2:
string Select_Type = "劳务费";
List<BLL.BLLModels.BaseAndDetail> Save_BaseAndDetail2 = salary.Database.SqlQuery<BLL.BLLModels.BaseAndDetail>
("exec VMode_BaseAndDetail @CheckType = '"+ Select_Type + "',@CheckTime= '"+CheckTime+"'").ToList();