OO在查询统计中的运用 请教Banq老师
虽然自己学习Java语言有一段时间了,但是自己发现对Java这门面向对象的编程语言的面向对象特性虽有一定的了解,但是却无法在实际编程中运用它。
今天自己做了一个简单的查询统计小系统,由于没有运用统计报表,可能大家认为很简单,但是今天我想说的不是用不用统计报表,而是对于我自己实现的该查询统计功能的实现方法。我也知道该方法十分丑陋,但是由于商业项目时间不够,暂时也就这样了。
下面简单说一下功能。这个功能设计到四张表,分别为:gongchengxinxi,yaoqingzhaobiao,zhijiefabao,erjifenbao.(工程信息,邀请招标,直接发包,二级分包)
前台页面:用户输入各种查询条件,但是有的可以不输入
后台:处理用户输入进来的各种条件,组合成sql语句。
最后返回给前台显示。
现在的问题是由于前台有的用户可以不输入条件,有的输入条件,还有就是输入的条件不同,我要反复的进行if else判断,形成了非常庞大的代码块,不仅容易出错,而且今后难以维护。
下面是我的代码
1、前台
<form name="form1" method="post" action="/zhaotoubiao/gongchengchaxun.do?action=add">
<br>
<br>
<br>
<div align = "left">
选择招标方式(可多选):
<br>
<input type="checkbox" name="gongkai" value="公开招标">公开招标
<input type="checkbox" name="yaoqing" value="邀请招标">邀请招标
<input type="checkbox" name="zhijie" value="直接发包">直接发包
<input type="checkbox" name="erci" value="二级分包">二级分包
<br>
<br>
选择时间属性(为单选):
<br>
<label>
<input type="radio" name="shijianfangshi" value="dengji">
登记时间</label>
<label>
<input type="radio" name="shijianfangshi" value="baoming">
报名时间</label>
<label>
<input type="radio" name="shijianfangshi" value="zhongbiao">
中标时间</label>
<br>
从
<input name="begin" type="text" size="8"
onClick="JSCalendar(this)"
onBlur="this.style.backgroundColor=''" /><font color="red">(不包括该天)</font>
到
<input name="end" type="text" size="8"
onClick="JSCalendar(this)"
onBlur="this.style.backgroundColor=''" /><font color="red">(包括该天)</font>
<br>
<br>
选择工程类别(可多选):
<br>
<input type="checkbox" name="fangwu" value="房屋建筑">房屋建筑
<input type="checkbox" name="shizheng" value="市政道路">市政道路
<input type="checkbox" name="yuanlin" value="园林绿化">园林绿化
<input type="checkbox" name="zhuangshi" value="装饰装修">装饰装修
<input type="checkbox" name="jianshe" value="建设监理">建设监理
<input type="checkbox" name="jidian" value="机电安装">机电安装
<input type="checkbox" name="caigou" value="设备采购">设备采购
<input type="checkbox" name="qita" value="其它">其它
</div>
<br>
<br>
<div id="div">
<input name="add" type="submit" class="botton" id="add2"
value="提 交" />
<input name="Submit2" type="reset" class="botton" value="放 弃" />
</div>
</form>