asp.net 高级查询 多条件组合查询 求思路

扬眉剑出鞘Gu 2013-03-28 02:00:16
哎 没招! 求点思路
...全文
369 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
扬眉剑出鞘Gu 2013-09-23
  • 打赏
  • 举报
回复
自己 写的比较挫 虽然实现了。但是太复杂,不方便上传! 多谢!!
Im_yours 2013-04-03
  • 打赏
  • 举报
回复
if(@para='select_exhi')--List查询 begin declare @strWhere varchar(4000) set @strWhere='select a.*,b.* from texhibinfo as a left join EI_CheckProcess as b on a.Step=b.Step where Is_del=0' if(@Name_exhibition<>'')--展会名称 set @strWhere = @strWhere+' and Name_exhibition like ''%'+@Name_exhibition+'%''' if(@productno<>'')--展会类别 set @strWhere = @strWhere+' and productno like ''%'+@productno+'%''' set @strWhere=@strWhere+' order by No_exhibition desc ' exec(@strWhere) print(@strWhere) end 楼主参考一下
子夜__ 2013-04-03
  • 打赏
  • 举报
回复
引用 18 楼 meiguo520 的回复:
引用 17 楼 wxr0323 的回复:string query = "SELECT * FROM table WHERE 1=1" if(xxx>0) query += " and column='" + xxx+ "'"; 以此类推 += 换成StringBuilder 也可以去遍历你的条件 拼接出一个where条件 接到你sql上。 ……
这个要好玩一点。但是也不难。思路都差不多,也可以用搓的方法去搞。 等你写好了发出来看看。
扬眉剑出鞘Gu 2013-04-03
  • 打赏
  • 举报
回复
引用 17 楼 wxr0323 的回复:
string query = "SELECT * FROM table WHERE 1=1"

if(xxx>0)
query += " and column='" + xxx+ "'";

以此类推

+= 换成StringBuilder
也可以去遍历你的条件 拼接出一个where条件 接到你sql上。

在没找到更好的方案之前 这个可以满足你的需求 就是太挫了。。。。……
非常之挫!!你说的这种实在太简单了!都是知道的字段拼接SQL。我需要是如图这种根据动态的字段 动态的操作符。以及根据字段类型,如是string 类型就给文本框 如是datetime类型 就给选择日期。等等等 如张图
子夜__ 2013-04-03
  • 打赏
  • 举报
回复
string query = "SELECT * FROM table WHERE 1=1" if(xxx>0) query += " and column='" + xxx+ "'"; 以此类推 += 换成StringBuilder 也可以去遍历你的条件 拼接出一个where条件 接到你sql上。 在没找到更好的方案之前 这个可以满足你的需求 就是太挫了。。。。
Scorip 2013-04-02
  • 打赏
  • 举报
回复
拼了之后丢到数据库中用 EXEC ('SQL Text') 的方式不就好了。 如果你还要求查询效率,那么自由自己分析好之后,确定下大体语句,然后条件随便拼接就好了。
jason0932 2013-04-02
  • 打赏
  • 举报
回复
引用 14 楼 meiguo520 的回复:
引用 13 楼 jason0932 的回复:引用 12 楼 meiguo520 的回复: 引用 11 楼 jason0932 的回复:要不要 给你个demo 多谢啊! 我邮箱 1035156428@qq.com已发 注意查收 刚看到了。多谢啊。你这个还是简单了点。。我要比较复杂的那种,全部都是动态的!我自己做了一部分。还在完善!!好多条件判断。还是谢谢 ……
不客气哈 动态部分自己往上加就是了嘛
扬眉剑出鞘Gu 2013-04-02
  • 打赏
  • 举报
回复
引用 13 楼 jason0932 的回复:
引用 12 楼 meiguo520 的回复: 引用 11 楼 jason0932 的回复:要不要 给你个demo 多谢啊! 我邮箱 1035156428@qq.com已发 注意查收
刚看到了。多谢啊。你这个还是简单了点。。我要比较复杂的那种,全部都是动态的!我自己做了一部分。还在完善!!好多条件判断。还是谢谢
jason0932 2013-04-02
  • 打赏
  • 举报
回复
引用 12 楼 meiguo520 的回复:
引用 11 楼 jason0932 的回复:要不要 给你个demo 多谢啊! 我邮箱 1035156428@qq.com
已发 注意查收
扬眉剑出鞘Gu 2013-04-01
  • 打赏
  • 举报
回复
引用 11 楼 jason0932 的回复:
要不要 给你个demo
多谢啊! 我邮箱 1035156428@qq.com
jason0932 2013-04-01
  • 打赏
  • 举报
回复
要不要 给你个demo
扬眉剑出鞘Gu 2013-04-01
  • 打赏
  • 举报
回复
引用 4 楼 insus 的回复:
Refer: http://www.cnblogs.com/insus/articles/1999795.html
您这个 我目前已经有这个方案了,这个简单了点!还是多谢!
扬眉剑出鞘Gu 2013-04-01
  • 打赏
  • 举报
回复
引用 5 楼 bluedoctor 的回复:
条件组合就是一种典型的组合模式啊,使用支持组合模式的SQL条件对象,写几万行的条件代码都没有问题(不是SQL几万行)。比如PDF.NET的OQLCompare对象: C# code ? 1234567 OQLCompare cmp=new OQLCompare(entity1); OQLCompare cmpresult=cmp.Compare(entity1.Fi……
确实 组合多的吓死人啊
扬眉剑出鞘Gu 2013-04-01
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
逐个判断条件内容,有就拼接到sql或者用参数形式,有就为参数赋值
版主 想写个活的东西.有什么可以推荐的嘛
liuyw1982 2013-03-28
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/390407793里面有
wangyizhi58 2013-03-28
  • 打赏
  • 举报
回复
拼接sql字符串。 最好用stringbuilder
bluedoctor 2013-03-28
  • 打赏
  • 举报
回复
条件组合就是一种典型的组合模式啊,使用支持组合模式的SQL条件对象,写几万行的条件代码都没有问题(不是SQL几万行)。比如PDF.NET的OQLCompare对象:

OQLCompare cmp=new OQLCompare(entity1);
OQLCompare cmpresult=cmp.Compare(entity1.Field1,">=","aaa") 
& cmp.Compare(entity1.Field2,"=",123) 
& ....无限组合下去

var list=EntityQuery<Model1>.QueryList(OQL.From(entity).Select().Where(cmpresult).End);

insus 2013-03-28
  • 打赏
  • 举报
回复
凤凰涅檠 2013-03-28
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
逐个判断条件内容,有就拼接到sql或者用参数形式,有就为参数赋值
。。。
  • 打赏
  • 举报
回复
高级查询->中间转化->sql语句->sql本质=> select * from t_table where id = @id and name = @name and age > @age and.....
加载更多回复(1)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧