这只是我个人的一点小体会,对于现在的你也许会是很浅显,请你不要笑话``毕竟我也有和曾经的你一样的成长过程`
以前一个简单的朋友信息管理系统没有做完,这两天复习轻松了点没事就又接着做了点,因为一个人真正的朋友毕竟不是很多,绝对不可能多到暴数据库,所以在这系统中我是一次性取出所有记录的朋友信息。
数据库里有个记录朋友信息的表customer,于是在程序里我用一个对应的类Customer,其中数据域是一一对应的,有对应的getter和setter方法,但最后会多加一个标识数据域hava,用来表示此条信息是否被删除。在这程序中为了保证实现数据的同步在进行记录修改和删除时我同时处理数据库里的数据和对应的取出来的类Customer数组数据,查询操作是对对应的类Customer数组进行遍历。
部分变量:
java 代码
- private Customer cus[]=new Customer[10000];
- private int count;
- private int realcount;
- private int currentid;
cus[0] 没有保存数据,数据库记录从cus[1]开始,但cus[0]的数据我全设置为"",这样当我希望界面数据区显示空时(比如数据库为空时)直接把cus[0]的值直接传过去,与其实做同样的处理
执行查询时的上一条和下一条只是分别把 currentid 减 1 和加 1,最上一条和最下一条只是把 currentid设置为1和count, 当然这里没有考虑数组cus[]的相应数据被删除的情况,后面会解决。 就这样把查询和修改写完都没什么问题,但当开始写删除操作时问题就出现了,删除数据库里的当然没问题,关键是对于 cus[]对应的数据怎么处理,开始我考虑每次删除时把被删除的数据后面的数据全部向前移动一个,同时让count 减 1 ,但又考虑这样做后删除操作多时移动量好象也不少,特别是对于删除数据比较靠前的。于是我就考虑当删除时我并不真正删除 cus[] 里的此条数据,而是用一个标识域 have 来进行判断, 当cus[i].have=true 时表示第 i 条数据存在,可以显示,否则则跳过。所以在类Customer 里加了 private boolean have; 这样当我第一次从数据库里取时我全部设置为 true ,而当删除一条记录时就使该记录的 have=false,并且让 realcount 减 1,但count 值不变, currentid 加 1 ,显示后面一条数据。
这样做后对应的查询和修改代码就得改了,因为操作时首先也得判断一条记录的 have ==true,下面是执行下一条记录和最后一条记录时的操作函数和相关函数,其实类似或更为简单,
java 代码
- private void youActionPerformed(java.awt.event.ActionEvent evt)
- {
- int i=currentid,j=currentid;
- while(currentid!=count&&i!=count)
- {
- i++;
- if(cus[i].getHave())
- {
- currentid=i;
- this.setShowCustomer2(currentid);
- break;
- }
- }
- if(currentid==j)
- {
- JOptionPane.showMessageDialog(this,"已经到最后一条记录","",JOptionPane.WARNING_MESSAGE);
- }
- }
-
- private void zuiYouActionPerformed(java.awt.event.ActionEvent evt)
- {
- int i=count,j=currentid;
- while(currentid!=count&&i!=currentid)
- {
- if(cus[i].getHave())
- {
- currentid=i;
- this.setShowCustomer2(currentid);
- break;
- }
- i--;
- }
- if(currentid==j)
- JOptionPane.showMessageDialog(this,"已经是最后一条记录","",JOptionPane.WARNING_MESSAGE);
- }
-
- private void setShowCustomer(String xingMing1,String leiBie1,String shengRi1,String youXiang1,
- String diZi1,String chengShi1,String shengFen1,String bianMa1,
- String guoJia1,String jiaTingDianHua1,String gongSiDianHua1,
- String shouJi1,String beiZhu1,String ziLiao1)
- {
- xingMing.setText(xingMing1);
- leiBie.setText(leiBie1);
- shengRi.setText(shengRi1);
- youXiang.setText(youXiang1);
- diZi.setText(diZi1);
- chengShi.setText(chengShi1);
- shengFen.setText(shengFen1);
- bianMa.setText(bianMa1);
- guoJia.setText(guoJia1);
- jiaTingDianHua.setText(jiaTingDianHua1);
- gongSiDianHua.setText(gongSiDianHua1);
- shouJiHaoMa.setText(shouJi1);
- beiZhu.setText(beiZhu1);
- ziLiao.setText(ziLiao1);
- }
- private void setShowCustomer2(int i)
- {
- this.setShowCustomer(cus[i].getXingMing(),cus[i].getLeiBie(),cus[i].getShengRi(),
- cus[i].getYouXiang(),cus[i].getJiaTingDiZhi(),
- cus[i].getChengShi(),cus[i].getShengFen(),
- cus[i].getBianMa(),cus[i].getGuoJia(),
- cus[i].getJiaTingDianHua(),cus[i].getGongSiDianHua(),
- cus[i].getShouJi(),cus[i].getBeiZhu(),
- cus[i].getZiLiao());
- }
分享到:
相关推荐
1. **计划与调度**:商砼站需提前了解周计划,使用混凝土时,需提前两天通知所需标号和方量,以便物资准备。灌注前两小时,专人联系调度和试验室,确保供应与施工同步。 通过这些管理体系,工地混凝土搅拌站能够...
这种更适用个人,无论你有什么特殊才艺都可以持之以恒的去拍摄更新它,比如你唱歌好听请你坚持每天唱一首,比如你跳舞不错请你每天坚持跳一跳,再比如你会玩什么乐器也可以每天玩一玩,总之就是要坚持,别新鲜两天就...
为了尽快达到收治患者的标准,她连续工作了超过一天一夜,即使手磨破了、眼熬红了,也没有放弃。她的付出得到了患者的认可,被称为“天使保洁员”。 吴昊的故事不仅展示了医护人员的专业精神,还体现了她们在面对...
《公主来的那天》这份教案正是基于这一点,精心设计了一系列活动,旨在让孩子们在游戏中自然掌握数学知识。教案巧妙地以一个吸引孩子的故事情景为背景,通过具体的操作和实践活动,让孩子们在不知不觉中学习到图形和...
这一点在我们忙碌而紧张的现代生活中更显得难能可贵。我们或许会因为生活的压力而忽略对母亲的感激之情,但《寄小读者》提醒我们,要时刻珍惜和感恩母亲的付出,不仅在言语上,更在行动上,用我们的孝心回报她们的...
这使得这首词在学生学习古代诗词的过程中,不仅是对形式美的鉴赏,更是对内在情感和哲理思想的体会。 在教学应用方面,《天净沙·秋》可以作为初中语文教学的重要内容,引导学生从多个维度赏析诗词。通过对该词的...
经过这两天的密集学习和考核,我们不仅仅学到了知识,还增强了团队之间的凝聚力。此次成都之行的体验和感悟,将对我们的工作产生积极而持久的影响,它将激励我们在建材行业中稳健前行,追求更加远大的目标。在未来的...
特别是当乘数末尾存在0时,其计算过程可以进一步简化,这一点往往成为学生学习过程中的一个难点。为此,一个名为“两三位数乘一位数笔算乘法乘数末尾有的乘法PPT学习教案”的教学资源应运而生,它以PPT形式为教师...
想要体会“一天”有多少价值,可以去问“一闭一睁”的小沈阳; 想要体会“一小时”有多少价值,可以去问一对等待相聚的恋人; 想要体会“一分钟”有多少价值,可以去问一个错过火车的旅人; 想要体会“一秒钟”有...
本单元学习简单的四则混合运算,包括只含同一级的混合运算、含有两级的混合运算、含有小括号的混合运算,以解决两步计算的实际问题。在教学过程中,结合具体情境,体验运算顺序规定的合理性,帮助学生理解应该先算...
作者在回忆中逐渐领悟到了这一点,他的幡然醒悟,是对父亲深沉爱意的回应,也是对年少轻狂时不懂事的反思和致歉。 “生命中的伞”最终定格在作者心灵深处,成为永恒的记忆。这份爱的印记,就像雨中的伞,始终守护着...
在小学六年级的数学教学中,"生活中的负数1.1天气预报中的负数"这一知识点的探讨,是帮助学生理解和运用负数的重要一步。负数在生活中的应用场景十分广泛,而在众多实例中,天气预报的温度变化无疑是最直观、最常见...
有许多知识,光靠教师上课所讲的和自己看书得到的,还远远不够,C语言主要是通过上机来熟悉并且运用的,这次的实训课让学生深刻的明白了这一点。 因此,在以后的学习生活中,学生要经常写程序并上机进展调试,不断...
在教学中,教师可以引导学生对这两首诗进行深入的分析,让学生认识到比兴手法在诗歌中的运用,如《饮马长城窟行》中的“枯桑知天风,海水知天寒”,通过比兴手法的运用,增强了诗意的感染力和艺术的深远意味。...
这一点在实际生活中是非常重要的,通过数学应用题的方式让孩子们接触并理解这些概念,对于他们未来的生活和学习都是有益的。 最后,**图形与数量**的题目培养孩子们对图形与数量对应关系的理解。通过计算飞鸟或鱼的...
紧接着的两天,学生们接触到了刨床、铣床和卧轴矩台平面磨床。这些机床是金属加工中不可或缺的工具,它们各自承担着不同的加工任务。在实习中,学生们学习了刨削、铣削以及磨削的基本操作,通过对直径200mm的铁条...
这一点是孩子们理解除法双重性的重要环节。通过小白兔拔萝卜的故事,孩子们可以更加直观地理解这一概念。在故事中,20根萝卜如果平均分配给小白兔,每天可以吃5根,那么小白兔可以连续吃5天;反过来,如果小白兔希望...
四季变化是自然现象的一部分,试题中通过日影方向来判断夏至日,这体现了北半球白昼最长的一天。热带、温带和寒带地区的日照情况也被提及,以帮助学生理解不同纬度地区季节变化的差异。 地图类型的应用也是地理考试...
通过情境导入,让学生观察并讨论一个典型拖拉小朋友的一天,教师可以引导学生认识到做事效率的重要性。紧接着,“小小故事会”的环节,通过讲述拖拉国的故事,让学生体验到拖拉可能带来的后果,从而理解珍惜时间的...