2014-09-13 10:43 | 题主 | ||||||||
|
关于复合查询的问题 看过例子单条件的查询做法,已经做了一遍。想问支不支持多条件查询时? 就是在where 1=1 后面拼接条件的,参数为空就不拼接这个条件 |
2014-09-15 13:57 | #1 | ||||||||
|
支持的。关于查询,这个属于数据库的范畴。 目前所有数据库都支持多条件查询,具体请参考customer示例。 |
2014-09-15 15:55 | #2 | ||||||||
|
customer的例子,还有看过别人都是,多条件直接写进sql里的 我想问是,有没有办法拼接sql。 因为直接写进去,如果有一个条件为空,刚好那个条件的那列数据也为空 使用like '%%',就查不出来了,like '%%'只能查这列为非空的。 |
2014-09-16 17:46 | #3 | ||||||||
|
可以拼写,可以在serverScript或java中设置变量: 然后设置SQL属性: 或者直接在serverScript或java中编写代码: 这些是等效的。 |
2014-09-18 17:42 | #4 | ||||||||
|
Wb.load(store1,{field:'foo',field2:123}); |
2014-09-18 18:28 | #5 | ||||||||
|
楼上的写法这是要生成SQL注入的节奏 前台只管传参,SQL可在后台的initScript中拼写 |
2014-09-19 10:24 | #6 | ||||||||
|
我用这个工具还没写过后台,想知道前台 |
2014-09-19 20:10 | #7 | ||||||||
|
楼主如果想直接从前台直接传输sql语句是可以的 你可以 var sql = 'and name = ........ and age =.........'; Wb.load(store1,{filed,sql}); 或者store1.params.field = sql; store1.load(); 都可以把你这半条sql语句传到后台,sql语句里直接引用{#field#}即可 但是更好更准确地方法是,不要传输sql语句,传输值就可以了 后台var name = request.getParameter('field'); 判断是否为空,再拼接sql语句,这些因为是java代码必须卸载serverScript中 把拼接的sql语句setAttribute 同样用{##}引用 request,response是server端最基本的知识,建议楼主先学习下基本的servlet知识 |
2014-09-23 10:54 | #8 | ||||||||
|
谢谢,wych,已经按照你的第一种方解决了。 |