asp.net中一个button如何实现两种搜索?sql语句怎么写?多种办法更好

如题所述

一个按钮实现两种搜索,一般前面要么是下拉框选项,要么是单选框,要么是多个input框。不管如何,把前面的那个条件加上一个id,button提交后按照获取的id决定执行哪条sql语句。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-22
个人习惯先做一个全局变量,条件变化时进行赋值,再根据变量的取值进行判断,分别执行不同的SQL查询语句。条件少的话IF ELSE就行了,条件多的话,我喜欢用SWITCH CASE。
第2个回答  2014-01-22
首先你标记你要做的是搜索一还是搜索二
if(搜索一的标记)
{
string sql="select * from TableName where 字段1='内容1'"
//查询结果设置为Datatable
}
else
{
string sql="select * from TableName where 字段2='内容2'"
//查询结果设置为Datatable
}

//你的意思也可能是查询两个不同的条件》?
string sql="select * from TableName where 1=1"
if(文本框1内容.Length>0)
{
sql+=" and 字段1='"+文本框1内容+"'";
}
if(文本框2内容.Length>0)
{
sql+=" and 字段2='"+文本框2内容+"'";
}追问

我的意思是我要用一个button实现两种搜索。一种是型号的搜索一种是名称的搜索,但是我只有一个文本框。我获取文本框的值之后我该怎么做才能实现呢?只要能实现的办法都可以。求大神帮忙了。

追答

string sql=string.Format(select * from tablename where 型号='{0}' or 名称='{0}',"文本框的内容");

追问

sql语句用or的方式我用过了。数据会出现重复。

有没有其它的办法呢?

追答

如果使用模糊查询 这样写:
string sql="select distinct * from 表 where 型号 like '%'+@X+'%' or 名称 like '%'+@X+'%'";
这样才是模糊查询 你上面不+% like就相当于=
distinct的作用就是过滤重复行

你看下series 下的seriesId有没有重复的记录
select seriesId,count(*) from series group by seriesid having count(*)>1
同样Product的SeriesID有没重复的 (我估计Product引用了Series的ID)
select seriesId,count(*) from product group by seriesid having count(*)>1
估计product表有多个seriesID
Product 是子表
你说的重复记录 你看是不是两行有不同的地方 不行的 话 你+我 QQ 410990952

本回答被提问者和网友采纳
第3个回答  2014-01-22
这个你在代码里需要一个标记字段,点了button之后根据它的值判断执行哪段sql

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网