| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1588 人关注过本帖
标题:如何进行下图的复合条件的查询和判断括号,用户设置条件错误如何提示?
只看楼主 加入收藏
pzyun1985
Rank: 2
等 级:论坛游民
帖 子:106
专家分:18
注 册:2013-4-13
收藏
得分:0 
回复 23楼 bccn0906
你言重了,我的用户群都是有电脑基础(我说的是懂电脑逻辑但只是不会编程的那种)的,现在我全面处理,唯一要判断的就是多一个或者少一个")",因为这个我是无法控制的,经过测试,用户随便输入条件就只会出这个错误,比如用户一但缺少"并且"和"或者"这样的连接条件,软件自动以赋值的方式进行处理并自动跳过,如果是一般用户,他们选择简单的查询方式也不为过啊
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 pzyun1985 于 2013-11-13 20:33 编辑 ]
2013-11-13 19:54
pzyun1985
Rank: 2
等 级:论坛游民
帖 子:106
专家分:18
注 册:2013-4-13
收藏
得分:0 
回复 21楼 qingfameng
我开始设计筛选框的时候就是采用这种方法,用临时表一路走下来然后得到最终结果,但现在不同了,复合查询------A,B,C条件中符合其中两项就选出来再连接D条件,也就是我说的.OR.条件,我前面说过了,如果按照这种筛选框肯定不会出错,但无法满足用户需求,如果我所需要的结果用复合条件查询才能查询出来的结果,用筛选框方法可能要几次以上甚至N多次结果的合并才能实现,另外我用一条代码就直接走完(看截图),如果采用临时表方式只适合单线模式筛选,因为每层一个临时表,我还得费力的去判断上一个条件和下一个条件能不能直接运行,如果下一层出现"(",就不可能继续走下去,而是要先运行括号里面的数据,再来运行外面数据,那么此时我的上层临时表数据就得先独立保存,等把先运算的先找出来再来跟它结婚,这样难度就不是一般的大了,NO.NO.NO!!! 因为用户导出不同的数据会把括号安放在不同的位置,光这项工程就能打入十九层地狱。

[ 本帖最后由 pzyun1985 于 2013-11-13 20:17 编辑 ]
2013-11-13 20:02
pzyun1985
Rank: 2
等 级:论坛游民
帖 子:106
专家分:18
注 册:2013-4-13
收藏
得分:0 
回复 28楼 冬冬123
说这款软件没发展了言之尚早,我可以告诉你的是,我的今天就是托这款软件的福(仅仅是对我而言),没错,一说到编程就会想到C++,VB,我给那些企业写程序全部清一色的VFP,什么东西做出来的不要仅,要仅的是别点一个查询结果出来了,别点一个打印纸出来了,别人点报表分析,什么柱形,什么环形,什么曲线型想什么来什么,这个时候没人觉得你用VFP做出来BS你,VFP是有很多不能与其它编程软件比拟的,那我们就扬长避短总行吧,其它系统很容易做出来的效果,用VFP就多绕几个弯想办法把它搞出来吧.......

[ 本帖最后由 pzyun1985 于 2013-11-13 20:49 编辑 ]
2013-11-13 20:44
冬冬123
Rank: 2
等 级:论坛游民
帖 子:80
专家分:67
注 册:2013-3-3
收藏
得分:0 
回复 31楼 pzyun1985
这样的话,楼主不妨先用条件判断语句将一些可呢过出现的情况做事先判断,然后再决定where条件怎么写,我是这么想的

天下寒士俱欢言!!!
2013-11-13 21:04
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:0 
楼主:看来,你提的问题,复杂在查询条件上,重点当然是处理查询条件。建议:你还是要分层处理查询条件。否则会踏入泥浆中。你让用户填写“(”,这合适吗?这是出错的主要原因。因为这是我们要做的事。查询条件再多再变化,也是有个数量范围,总不能让用户随便写入。当然,可以让用户随便选择设定的条件。我们可以对用户所选出的条件,进行判断,哪些条件该加或不需要加“(”。or 与 and 层次比较,or 是上层。and 是同层。如果 and 的某一端需要有 A or B 条件,必须写成:C and (A or B), 这里,A,B,C 各代表一个‘比较式子’,既:某某 大、等、小于某某。
A 和 B中,继续分层,or 的两端仍然是必须加括号的。清晰排好条件是关键。最后也可以用一条 sql 解决。层次不清,查询结果当然是一个无法预料的结果。
2013-11-14 00:48
pzyun1985
Rank: 2
等 级:论坛游民
帖 子:106
专家分:18
注 册:2013-4-13
收藏
得分:0 
回复 35楼 qingfameng
我看过大软件公司做的系统,他们也解决不了用户设置条件错误,他们想的和我想的一样,就是允许出错,把设置出错的原因找出来然后提示给用户,至于括号这个问题,必须保留用户设置,如果按照0906的窗口模式,用户看了会头疼,如果用户进行多层分组"((",用汉字表达反而让他们看着眼花,毕竟括号从小就有基础的,有括号先算括号,这是小学的知识,这个道理他们可以懂,如果像你们说的,这样不如直接培训用户使用VFP,并让他们使用代码,这个不可能吧,这样子这个软件就直接宣布死刑,部分用户能提出更高要求,就说明他们已经有这种多条件查询条件的逻辑基础,运算代码的问题不用在讨论,要做的就是把用户设置条件错误以MESSAGE()的方式提示.
图片附件: 游客没有浏览图片的权限,请 登录注册
肯定是不用输的,红箭头所指的均是用户点击显示COMBO控件进行选择,也就不会出现字符错误


[ 本帖最后由 pzyun1985 于 2013-11-14 09:05 编辑 ]
2013-11-14 08:13
快速回复:如何进行下图的复合条件的查询和判断括号,用户设置条件错误如何提示?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018887 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved