搜索文本框和下拉菜单 [英] To Search Textbox and Dropdown

查看:105
本文介绍了搜索文本框和下拉菜单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我有3个文本框和2个下拉列表和一个linkbutton用于在页面中进行搜索,我想通过链接控件的单击事件中的这些控件之一来搜索它们,并以单个存储过程编写这些查询.请帮我

OP已添加:
如何创建一个用于搜索的存储过程.例如:我想搜索客户编号,客户名称,销售名称,肥皂名称,地址.......

谢谢
Shashank

Hi,
I have 3 textbox and 2 dropdownlist and one linkbutton for search in a page and i want to search one by one of these controls on click event of link button and these query written in a single stored procedure. Plz help me

OP added:
how to create one stored procedure for searching. for ex-: I want to search to customerid, customername, Salesname, Soapname, Address.......

Thanks
Shashank

推荐答案

IN This procedure you can search from any control i have 4 dropdown and two textbox for search you can set your parameter .In this procedure tarif,fabricant,nivel1,nivel2 is dropdown value and other two is textbox value.
in this procedure first  we add our normal query in "@SqlQuery" when query assign in this variable.we add query on the basis of search criteria for EX.
IF (@Tarifa <> 'Select') 
SET @SqlQuery= @SqlQuery + ' AND (Tarifa.Tarifa = ''' + @Tarifa +''')'
in this syntax @SqlQuery contain previos query and from this expression "AND (Tarifa.Tarifa = ''' + @Tarifa +''')'" we add condition and it will work fine





CREATE PROCEDURE [dbo].[SP_FilterPriceRule]
		@Tarifa nvarchar(50),@Fabricante varchar(20), @Nivel1 varchar(50), @Nivel2 varchar(50),
		@PorSobreCoste decimal(18,0) = NULL, @PorcentajeDescuento decimal(18,0) = NULL
AS
  DECLARE @SqlQuery AS nvarchar(max)
  DECLARE @SqlQuery1 AS nvarchar(max)
  DECLARE @FinalQuery AS nvarchar(max)
  
  print cast(@PorSobreCoste as varchar(10))
  SET @SqlQuery='SELECT ReglaTarificacion.Id,convert(varchar,Tarifa.IdTarifa) +''-''+ Tarifa.Tarifa AS Tarifa, Fabricante.Descripcion AS Fabricante, Nivel1.Descripcion AS Nivel1, Nivel2.Descripcion AS Nivel2, ReglaTarificacion.PorSobreCoste AS PorSobreCoste, 
                      ReglaTarificacion.PorcentajeDescuento AS PorcentajeDescuento, ReglaTarificacion.OrdenEjecucion
			FROM      ReglaTarificacion LEFT JOIN
                      Tarifa ON ReglaTarificacion.Idtarifa = Tarifa.IdTarifa LEFT JOIN
                      Fabricante ON ReglaTarificacion.CodFab = Fabricante.Codfab LEFT JOIN
                      Nivel2 ON ReglaTarificacion.IdNivel2 = Nivel2.Codigo_nivel2 LEFT JOIN
                      Nivel1 ON Nivel2.Codigo_nivel1 = Nivel1.Codigo_nivel1
                      where (1=1)'
                      
  
   IF (@Tarifa <> 'Select') SET @SqlQuery= @SqlQuery + ' AND (Tarifa.Tarifa = ''' + @Tarifa +''')'
		
   IF (@Fabricante <>'Select') 	SET @SqlQuery=@SqlQuery + ' AND (Fabricante.Descripcion = ''' + @Fabricante +''')'
		
   IF (@Nivel1 <>'Select') SET @SqlQuery=@SqlQuery + ' AND (Nivel1.Descripcion = ''' + @Nivel1 +''')'
		
   IF (@Nivel2 <>'Select') SET @SqlQuery=@SqlQuery + ' AND (Nivel2.Descripcion = ''' + @Nivel2 +''')'
		
	IF (@PorSobreCoste IS NOT NULL )
	begin
		SET @SqlQuery=@SqlQuery + ' AND (ReglaTarificacion.PorSobreCoste = '+ cast( @PorSobreCoste as varchar(10)) +')' 	
	end
		
	IF (@PorcentajeDescuento IS NOT NULL)
	BEGIN
		SET @SqlQuery=@SqlQuery + ' AND (ReglaTarificacion.PorcentajeDescuento = '+ cast( @PorcentajeDescuento as varchar(10)) +')' 		
	END		
	SET @SqlQuery= @SqlQuery + ' ORDER BY ReglaTarificacion.OrdenEjecucion'
	print @SqlQuery
   	exec(@SqlQuery)



if this procedure usefull for you then please Vote 


],您可能会觉得有用.

我们很乐意为您解决实际的技术问题,但您必须首先付出努力...

最好的问候
Espen Harlinn
Google returned about 14,000,000 hits[^] that you might find useful.

We will be happy to help you with actual technical problems, but you''ll have to make an effort first ...

Best regards
Espen Harlinn


这篇关于搜索文本框和下拉菜单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆