多条件的搜索问题!!!

时间:2022-05-22 05:38:48
页面上有多个dropdownlist,内容为区域省市等联动菜单,还有一个textbox,作为输入关键字用.一个搜索按钮...

每个dropdownlist都有所有这个选项,我想达到的目的就是根据这么多的条件+关键字来从数据库中显示对应的项,当然dropdownlist里如果不选,那就是相当于选择了所有

这样的搜索情况应该怎样写语句呢???

救急啊!!!

18 个解决方案

#1


string strSQL = "Select * from 表 where 1= 1 ";

if(dropdownlist1.SelectedValue.Trim () != "")
{
   strSQL += " and 字段1 = '"+  dropdownlist1.SelectedValue +"' ";
}

if(dropdownlist2.SelectedValue.Trim () != "")
{
   strSQL += " and 字段2 = '"+  dropdownlist2.SelectedValue +"' ";
}

#2


同意ls,jf

#3


string temp = "";
if(dropdownlist1.selectedvalue.tostring().Equals("所有"))
temp = "1 = 1 and ";
else
temp = "字段名 = '"+dropdownlist1.selectedvalue+"' and ";
if(dropdownlist2.selectedvalue.tostring().Equals("所有"))
temp = temp + "1 = 1 and ";
else
temp = "字段名 = '"+dropdownlist2.selectedvalue+"' and ";
............................
最后的一个把and去掉

#4


晕,居然晚了

#5


我是在主页上搜索,然后显示是在其他页上,是用repeater显示的,得传值过去吧.

#6


..................UPUP

#7


把DropDownList的Value设为关键字

然后连接字符串

#8


1楼

#9


没人气了

#10


cpp2017(慕白兄) ( ) 正解!

#11


地址栏或者session传值

最好用地址栏,而且最好加密

#12


把条件传过去,然后再在你需要显示的页面上读数据

#13


省市县联动的话,应该只要一个参数就可以了,因为如果是长沙市就肯定是湖南省的

直接将获得这个参数和查询关键字以QueryString的方式传过去就OK了

#14


那传值如果有一项没选,会抱错吧...

#15


好象不对哦

#16


任何东西都有多种方式看你选择那一种方式实现.
1如果你要在服务端使用.你可以一个一个的选择然后连接所有保存的字符串查询

1在JavaScript中实现多选和连动问题,如果你注意的话.你可一到www.51job.com里面看看那里有连动和或选的解决方法.你可以看他javaScritp code ,然后你可以到后台处理选择的字符串

#17


用session传值比较安全,但是占用资源太多,记得用过后要清空。
在你反映的页判断你所得到的值,为null时就是所有可以like '%%' 其他的like '%得到的值%'

#18


关键字搜索怎么实现啊?

我看一般的都是一个字段,然后like,那当然好实现,但现在是我随便输入一个关键字,就要从数据库中查出包含这个关键字的记录啊...

不能用单个字段匹配的方法吧...
那该怎样呢

#1


string strSQL = "Select * from 表 where 1= 1 ";

if(dropdownlist1.SelectedValue.Trim () != "")
{
   strSQL += " and 字段1 = '"+  dropdownlist1.SelectedValue +"' ";
}

if(dropdownlist2.SelectedValue.Trim () != "")
{
   strSQL += " and 字段2 = '"+  dropdownlist2.SelectedValue +"' ";
}

#2


同意ls,jf

#3


string temp = "";
if(dropdownlist1.selectedvalue.tostring().Equals("所有"))
temp = "1 = 1 and ";
else
temp = "字段名 = '"+dropdownlist1.selectedvalue+"' and ";
if(dropdownlist2.selectedvalue.tostring().Equals("所有"))
temp = temp + "1 = 1 and ";
else
temp = "字段名 = '"+dropdownlist2.selectedvalue+"' and ";
............................
最后的一个把and去掉

#4


晕,居然晚了

#5


我是在主页上搜索,然后显示是在其他页上,是用repeater显示的,得传值过去吧.

#6


..................UPUP

#7


把DropDownList的Value设为关键字

然后连接字符串

#8


1楼

#9


没人气了

#10


cpp2017(慕白兄) ( ) 正解!

#11


地址栏或者session传值

最好用地址栏,而且最好加密

#12


把条件传过去,然后再在你需要显示的页面上读数据

#13


省市县联动的话,应该只要一个参数就可以了,因为如果是长沙市就肯定是湖南省的

直接将获得这个参数和查询关键字以QueryString的方式传过去就OK了

#14


那传值如果有一项没选,会抱错吧...

#15


好象不对哦

#16


任何东西都有多种方式看你选择那一种方式实现.
1如果你要在服务端使用.你可以一个一个的选择然后连接所有保存的字符串查询

1在JavaScript中实现多选和连动问题,如果你注意的话.你可一到www.51job.com里面看看那里有连动和或选的解决方法.你可以看他javaScritp code ,然后你可以到后台处理选择的字符串

#17


用session传值比较安全,但是占用资源太多,记得用过后要清空。
在你反映的页判断你所得到的值,为null时就是所有可以like '%%' 其他的like '%得到的值%'

#18


关键字搜索怎么实现啊?

我看一般的都是一个字段,然后like,那当然好实现,但现在是我随便输入一个关键字,就要从数据库中查出包含这个关键字的记录啊...

不能用单个字段匹配的方法吧...
那该怎样呢