这只是我个人的一点小体会,对于现在的你也许会是很浅显,请你不要笑话``毕竟我也有和曾经的你一样的成长过程`
以前一个简单的朋友信息管理系统没有做完,这两天复习轻松了点没事就又接着做了点,因为一个人真正的朋友毕竟不是很多,绝对不可能多到暴数据库,所以在这系统中我是一次性取出所有记录的朋友信息。
数据库里有个记录朋友信息的表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. **计划与调度**:商砼站需提前了解周计划,使用混凝土时,需提前两天通知所需标号和方量,以便物资准备。灌注前两小时,专人联系调度和试验室,确保供应与施工同步。 通过这些管理体系,工地混凝土搅拌站能够...
这种更适用个人,无论你有什么特殊才艺都可以持之以恒的去拍摄更新它,比如你唱歌好听请你坚持每天唱一首,比如你跳舞不错请你每天坚持跳一跳,再比如你会玩什么乐器也可以每天玩一玩,总之就是要坚持,别新鲜两天就...
为了尽快达到收治患者的标准,她连续工作了超过一天一夜,即使手磨破了、眼熬红了,也没有放弃。她的付出得到了患者的认可,被称为“天使保洁员”。 吴昊的故事不仅展示了医护人员的专业精神,还体现了她们在面对...
在特定事件中,如公司年会当天的工作高潮,我们团队展示了出色的效率和专业性,一天内完成了通常两天的工作量。这表明在特殊情况下,我们需要具备快速适应和高强度工作的能力。另一方面,面对挑剔的奥迪车客户,我们...
想要体会“一天”有多少价值,可以去问“一闭一睁”的小沈阳; 想要体会“一小时”有多少价值,可以去问一对等待相聚的恋人; 想要体会“一分钟”有多少价值,可以去问一个错过火车的旅人; 想要体会“一秒钟”有...
本单元学习简单的四则混合运算,包括只含同一级的混合运算、含有两级的混合运算、含有小括号的混合运算,以解决两步计算的实际问题。在教学过程中,结合具体情境,体验运算顺序规定的合理性,帮助学生理解应该先算...
有许多知识,光靠教师上课所讲的和自己看书得到的,还远远不够,C语言主要是通过上机来熟悉并且运用的,这次的实训课让学生深刻的明白了这一点。 因此,在以后的学习生活中,学生要经常写程序并上机进展调试,不断...
一轮行情下来,我经常听到有人说一点都没有赚,甚至是亏的,我想,这样的经历可能是无数人的共同体会吧。由此可见,找到适合自己的买入方法比什么都重要。 找到适合自己个性的操作方法这点很重要,炒股和做人一样,...
这篇PPT学习教案是针对小学...通过这个PPT教案,教师不仅教授了文字描述的技巧,也引导学生体会大自然的壮丽与力量,激发他们对自然现象的探索兴趣。同时,这也是一种培养孩子观察力、想象力和语言表达能力的教学方式。
这一段中,作者通过对天、云、山、水的描写,用“上下一白”四个字简洁而传神地展现了雪后的西湖美景,而湖面上仅存的“长堤一痕、湖心亭一点、舟一芥、舟中人两三粒”则运用了白描手法,将宏大的景色浓缩为微小的...
文中提到的“郁郁苍苍,充满生机”就充分体现了这一点。即使历经风雨和岁月的洗礼,黄山松仍然展现出顽强的生命力,以优美的姿态迎接四方游客。 玉屏楼是观赏黄山松的最佳地点,因为它位于黄山的绝佳位置,便于游客...
上个周末回了次盱眙,这几天工作冲突太大,而且手头出现了一个复杂的webapp,现在不是很在状态。但是设计需要继续做下去,只有顶住了,坚持住了,才可能会获得进步。 现在需要解决的是热备问题。热备两个思路,一个是...
1. **时间设定**:课文描述了潮水到来的时间——午后一点左右,这是观看潮水的最佳时刻,因为此时潮水的威力和壮观程度达到顶峰。 2. **视觉描绘**: - **白线的出现**:潮水初现时,像一条白线在水天相接的地方...
培训结束后,教师们提交了两篇不少于300字的学习心得体会和一篇总结,这不仅检验了学习成果,也促使教师将所学应用于日常工作。师德师风的培养并非一日之功,而是需要长期坚持和实践。学校认识到这一点,承诺将持续...
从这一点可以看出什么?明确:作者为他立传的目的并非只是为“驼”作传,而是另有深意。 教学反思: 通过本次教学,我们可以看到学生对文言基础知识的掌握,对本文类比、对比、映衬等写作手法的理解,对作者“养人...
(顺风一般两天内到货,偏远地区会延迟到货时间)(EMS 一般 3-5 天到货,偏远地区 7 天左右到货) 可以便宜一点吗 亲,非常抱歉,我们的定价已经是最低销售价格了呢,没有办法再优惠啦~~~ 质量问题 亲,我们是...
教师使用彩色带表示一天的两个时段,以帮助学生理解24小时制的划分,区分白天和黑夜。 在课堂活动中,学生学习将普通记时法转换为24小时记时法,反之亦然,通过小组讨论和实践操作加深理解。教师还设计了各种练习题...
在课文《不瞒真情》中,老舍和高煜年的行为体现了这一点。他们面对作文任务,老舍能够迅速地写出自己的真情实感,而高煜年则在思考如何表达真实的感受。这表明他们尊重并珍视真实,不为了迎合他人或追求表面的完美而...
5. **写景手法**:《湖心亭看雪》采用白描手法,简洁明了地刻画景物,如“一痕、一点、一芥、两三粒”,形象地展现了雪后西湖的寂静之美。与此相比,《西湖》一文运用生动的比喻,赋予景物更多的情感色彩。 6. **...
然后再回溯首尾两段,引导学生体会人们看到火烧云时的情感变化,从而更全面地理解文章的主题和情感。 这样的教学设计,突出了教学的重点,确保了在有限的时间内有效地完成教学任务。同时,通过详略得当的教学安排,...