asp.net多条件查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net多条件查询相关的知识,希望对你有一定的参考价值。

请教。麻烦了。。。点击上面的条件,下面会出现相对应的图片。

参考技术A string strSql="select * from 表 where 1=1 ";
if(品种!="")<<<<这个表示品种不限,你需要按实际自己微调

strSql=strSql+" and 品种 = ‘“+品种+”’ ";

if(颜色!="")

strSql=strSql+" and 颜色 = ‘“+颜色+”’ ";

重量,形状,价格 一样往下面拼接
最后查出来的就是多条件了本回答被提问者和网友采纳
参考技术B public DataSet GetBooks(string ISBN, string Name, string State,string Attrition, string Writer,string Type, string Press,string Bid)

string strSql = "select * from tb_BookStorage,tb_BooksInfo,tb_Cip,tb_Press where 1=1";
strSql += ISBN == "" ? "" : "and tb_BooksInfo.ISBN like '%'+@ISBN+'%'";
strSql += Name == "" ? "" : "and tb_BooksInfo.Name like '%'+@Name+'%'";
strSql += State == "" ? "" : "and tb_BookStorage.State like '%'+@State+'%'";
strSql += Attrition == "" ? "" : "and tb_BookStorage.Status like '%'+@Status+'%'";
strSql += Writer == "" ? "" : "and tb_BooksInfo.Writer like '%'+@Writer+'%'";
strSql += Type == "" ? "" : "and tb_Cip.Cname like '%'+@Type+'%'";
strSql += Press == "" ? "" : "and tb_Press.Pname like '%'+@Press+'%'";
strSql += Bid == "" ? "" : "and tb_BookStorage.Bid like '%'+@Bid+'%'";
strSql += "and tb_BooksInfo.ISBN=tb_BookStorage.ISBN and tb_BooksInfo.Pid=tb_Press.Pid and tb_BooksInfo.Cid=tb_Cip.Cid and tb_BookStorage.Status < 3";
SqlParameter[] para =
new SqlParameter("@ISBN",ISBN),
new SqlParameter("@Name",Name),
new SqlParameter("@State",State),
new SqlParameter("@Status",Attrition),
new SqlParameter("@Writer",Writer),
new SqlParameter("@Type",Type),
new SqlParameter ("@Press",Press),
new SqlParameter ("@Bid",Bid)
;
DataSet ds = help.GetDataSelect(strSql, para);
if (ds != null && ds.Tables[0].Rows.Count > 0)


return ds;

else

return null;


你可以参考下,这是多表多条件查询追问

问下啊。我也没的那些 条件都是a标签,怎么判断选择的是哪个呢,

追答

a标签是没有值给你取的~~

追问

那用什么好呢。linkbutton??

追答

linkbutton也可以,在CHECkBOX也OK~~你看着办~

参考技术C 整个不是很简单吗?选择一种,如果是前部 则where语句不做限制,如果选择了一种,那么就加个限制,比如我们数据库表字段颜色叫Color,加个小于1000 则where Color='Red' and Price<1000。还不明白可以加我q

asp.net(MVC) linq语句多条件查询

var entitys = entityFacade.GetAll().ToDataSourceResult(request, ModelState);
return Json(entitys);
上面的语句是查询全部的,现在我想条件查询,也就是例如,我设一个变量string str="123",
然后查询sql语句如下:
select*from student where SID='123' or SName='123' or SPwd='123'

这种sql语句,用linq语句该怎么写?想破头了都没实现,网上搜的那些多条件查询,好像不符合我的胃口,请教大家了

参考技术A

linq的多条件查询无非就是用where方法。

var entitys=entityFacade.GetAll().ToDataSourceResult(request, ModelState);
 if(!string.IsNullOrEmpty(SID))
   entitys=entitys.Where(x=>x.SID=='123');
 
  if(!string.IsNullOrEmpty(SPwd))
   entitys=entitys.Where(x=>x.SPwd=='123');
 
 
 return Json(entitys)

追问

这样写很麻烦的,如果有多个查询,这代码冗余量太多了,能不能这样?
if(!string.IsNullOrEmpty(SID||SPwd))
entitys=entitys.Where(x=>x.SID=='123'||x=>x.SPwd=='123');

像这种样子的?

本回答被提问者和网友采纳

以上是关于asp.net多条件查询的主要内容,如果未能解决你的问题,请参考以下文章

asp.net c# 想实现条件能为空的多条件查询

asp.net(MVC) linq语句多条件查询

asp.net中,多条件查询的sql语句怎么写?!

asp.net mvc+ef框架下的多条件查询

HBase条件查询(多条件查询)

python mongoDB 模糊查询(多条件)