C# 通过传递多个参数,根据过程在GridView中显示数据
我有一个存储过程,希望在C# 通过传递多个参数,根据过程在GridView中显示数据,c#,asp.net,sql-server-2008,C#,Asp.net,Sql Server 2008,我有一个存储过程,希望在DataGridView中获得结果 如下所示,我有5个参数,每次只想使用其中一个。其余的可以是空值 例如:“我想通过5种不同的方式进行过滤,但每次我只使用一个参数,如ID,对于第二种情况,我将通过日期等进行过滤…” 我将通过表单中的文本框传递数据 我想要C代码或直接从GridView到SqlDataSource的方法: ALTER Procedure [dbo].[ValidatiorSelection] ( @ID int ,@Cisco
DataGridView
中获得结果
如下所示,我有5个参数,每次只想使用其中一个。其余的可以是空值
例如:“我想通过5种不同的方式进行过滤,但每次我只使用一个参数,如ID,对于第二种情况,我将通过日期等进行过滤…”
我将通过表单中的文本框传递数据
我想要C代码或直接从GridView
到SqlDataSource
的方法:
ALTER Procedure [dbo].[ValidatiorSelection]
(
@ID int
,@Cisco int
,@Date date
,@Resoution varchar(60)
,@Type varchar(30)
)
AS
BEGIN
SET NOCOUNT ON;
SELECT
[Justification_ID]
,[Justification_Cisco]
,[HC_AgentName]
,[HC_Q]
,[HC_Cisco]
,[HC_Site]
,[HC_SPV]
,[HC_TeamLeader]
,[Justification_Date_Of_Case]
,[Justification_AgentShift]
,[Justification_From]
,[Justification_To]
,[Justification_OT_Duration]
,[Justification_Justification]
,[Justification_Description]
,[Justification_Creator]
,[Justification_Approved_By]
,[Justification_Type]
,[Justification_Group_ID]
,[WFM_Specialeist]
,[WFM_Resolution]
,[WFM_Status]
,[WFM_Comment]
,CASE WHEN DateDiff("d",[Justification_Date_Of_Case],[Justification_DT])>2 then 'Exceeded 48 Hours'
else 'During 48 Hours'
end as 'Time Status'
,[Justification_DT] as 'Open Time'
,[WFM_DT] as 'Close Time'
FROM
[ZainJTA].[dbo].[TBL_WFM]
RIGHT JOIN
([ZainJTA].[dbo].[TBL_Justification]
LEFT JOIN
[ZainJTA].[dbo].[TBL_HC] ON [TBL_Justification].[Justification_Cisco] = [TBL_HC].[HC_Cisco]) ON [TBL_WFM].[WFM_JustificationID] = [TBL_Justification].[Justification_ID]
WHERE
[TBL_Justification].Justification_ID = @ID
OR [TBL_Justification].Justification_Cisco = @Cisco
OR [TBL_Justification].Justification_Date_Of_Case = @Date
OR [TBL_Justification].Justification_Type = @Type
OR [TBL_WFM].[WFM_Resolution] = @Resoution
ORDER BY
[Justification_ID] DESC
END
这应该行得通
<asp:SqlDataSource id="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
SelectCommandType="StoredProcedure"
SelectCommand="sp_lastnames">
<SelectParameters>
<asp:ControlParameter Name="Name" Type="String" ControlID="txtName" />
</SelectParameters>
</asp:SqlDataSource>
我应该在哪里编写此代码?我应该在哪里传递参数参数名称应该是ControlParameter的名称,ControlID是您想要从中获取值的文本框我尝试过但没有解决我的问题,我想通过null VALUEST DefaultValue属性为参数传递一个参数并设置另一个参数,这样当您不在TXTBOX中输入任何内容时,默认值将传递到存储过程。我尝试将其设置为“null”它不起作用,如果我用其他值设置它,它将获得错误的数据