您的位置:首页 > 其它

一句话来防止查询记录重复

2014-08-10 20:34 148 查看
在做系统实现查询功能时,经常会出现每点一次查询,查询的结果就会累加出现一次。虽然在功能的实现上没有问题,但是会给体验的用户不太舒服的感觉。


图中就是我在敲机房收费系统出现的问题。

在做学生信息管理系统的添加课程的时候也出现了这样的问题,当时用了两个嵌套循环语句来检测是否重复添加了查询记录,感觉很麻烦。如果记录条数少的话可能体现不出来用两个嵌套循环的繁琐,但是如果记录多了呢?一直在执行循环,浪费很大的时间和资源。但是当时没有想到好的办法来解决,就只能这样了。

在敲机房里面的查询的时候,感觉防止重复添加很棘手,所以就暂缓了一下这个功能。先敲了最没有技术含量的清空。当时用的是 myflexgrid.clear 来清空查询出来的结果,但是发现就连第一行的标题页清没了,这就不好了,追求完美的我,就再另寻他法~ 忽然脑中灵光一闪~  既然是要清空,而且还要保留第一行,那直接让它的行数等于1不就可以了么。于是就有了myflexgrid.rows=1
这句神来之笔~

在敲查询的时候还是犯了会蒙,防止重复添加,让每添加的一条和现有的核对一遍,看有没有重复,有重复则下一条~  就是这么个过程~ 但是点第二次查询,指定那些记录都是重复的,需要耗费好多时间去循环,还是没有意义的循环……

于是想到了在每次点击查询的时候,就先执行myflexgrid=1 ,先把原先查出来的结果清空,然后相当于又执行了一遍查询。与当初用循环语句来一条一条对比显示的结果中是否已经有了这条记录相比,不仅节省了时间,而且避免了系统运行产生的资源浪费。

在学生信息管理系统中的设置课程也是一样,在这个功能中,先让它 listALLcourse.clear,清空了里面的内容,然后接着执行查询语句。这样,就不会出现重复出现相同的记录的情况了。简单、方便。

大道至简啊,往往解决问题最简单的方法就是最好的方法~当然,当时没有想到这个方法,是在不断的实践中才产生的。也说明了,就是要多敲多练,多积累,才能把这些东西看的更清,理解的更加透彻。加油!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息