如何将此内联SQL转换为存储过程

问题描述 投票:0回答:1

我如何将此内联sql转换为存储过程

SELECT     
       PM.ProjectName           
      ,[PurposeorReason]    
      ,Reg.Name    
      ,EA.Comment as Comment   
      ,[FromDate]    
      ,[VoucherID]    
      ,[TotalAmount]    
      ,ex.CreatedOn        
  FROM [TimesheetDB].[dbo].[Expense] ex    
  inner join Registration Reg on reg.RegistrationID = ex.UserID    
  inner join ProjectMaster PM on ex.ProjectID =PM.ProjectID 
  inner join AssignedRoles AR on reg.RegistrationID = AR.RegistrationID   
  inner join ExpenseAuditTB EA on ex.ExpenseID = EA.ExpenseID 
  where FromDate  between '2019-09-25' and '2019-09-29' 
  and ea.ProjectID IN (1,2,5)
  and EA.Status = 2  

我对(1,2,5)部分有疑问。我在C#中将其作为字符串“ 1、2、5”使用,并且ProjectID是整数。请知道我做错了,或者做错了。查询本身运作良好

c# sql-server
1个回答
0
投票

您不能将字符串发送到“ IN”子句,您应该使用列表您应该分割字符串,然后将其转换为int并将您的列表用作参数

© www.soinside.com 2019 - 2024. All rights reserved.