\
+ object[i].getExamdate() + \ }
System.out.println(\ stmt.addBatch(sqlStr); }
stmt.executeBatch();
JOptionPane.showMessageDialog(null, \学生成绩数据存盘成功!!!\\系统提示\
} catch (java.sql.SQLException sqlerror) {
new appstu.view.JF_view_error(\错误信息为:\ return false; }
return true; }
// 产生删除学生信息信息语句
public boolean Delete_Obj_gradeinfo_sub(Obj_gradeinfo_sub[] object) { try {
con = CommonaJdbc.conection; stmt = con.createStatement();
for (int i = 0; i < object.length; i++) { String sqlStr = null;
sqlStr = \From tb_gradeinfo_sub where stuid = '\+ object[i].getStuid() + \
+ object[i].getCode() + \ System.out.println(\ stmt.addBatch(sqlStr); }
stmt.executeBatch();
JOptionPane.showMessageDialog(null, \学生成绩数据数据删除成功!!!\\系统提示\
} catch (java.sql.SQLException sqlerror) {
new appstu.view.JF_view_error(\错误信息为:\ return false; }
return true; } }
5.2 登录界面代码设计
private void jbInit() throws Exception {
22
getContentPane().setLayout(borderLayout1); flowLayout1.setAlignment(FlowLayout.RIGHT); jLabel3.setForeground(Color.red);
this.setResizable(false);
this.setTitle(\系统用户登录\);
Font _MenuItemFont = new Font(\宋体\, 0, 12); jTextField1.addKeyListener(new JF_login_jTextField1_keyAdapter(this)); jPanel1.setBorder(border1);
jPasswordField1.addKeyListener(new JF_login_jPasswordField1_keyAdapter(this)); jBexit.addActionListener(new JF_login_jBexit_actionAdapter(this)); jBlogin.addActionListener(new JF_login_jBlogin_actionAdapter(this)); this.getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER); jTextField1.setText(\); jLabel2.setText(\密 码:\);
jLabel2.setFont(_MenuItemFont);
jLabel2.setHorizontalAlignment(SwingConstants.CENTER); jPasswordField1.setText(\); jPanel2.setLayout(flowLayout1); jBlogin.setText(\登录\);
jBlogin.setFont(_MenuItemFont); jBexit.setText(\退出\);
jBexit.setFont(_MenuItemFont); jPanel1.add(jLabel1);
jLabel1.setHorizontalAlignment(SwingConstants.CENTER); jPanel1.add(jTextField1); jPanel1.add(jLabel2);
jPanel1.add(jPasswordField1);
this.getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH); jPanel2.add(jLabel3); jPanel2.add(jBlogin); jPanel2.add(jBexit);
jLabel1.setText(\用户名:\);
jLabel1.setFont(_MenuItemFont); gridLayout1.setColumns(2); gridLayout1.setHgap(2); gridLayout1.setVgap(5);
23
gridLayout1.setRows(2);
jPanel1.setLayout(gridLayout1); this.setSize(360, 200); Dimension screenSize =
Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = this.getSize();
if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; }
if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; }
this.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); }
public void jTextField1_keyPressed(KeyEvent keyEvent) { if (keyEvent.getKeyCode() == KeyEvent.VK_ENTER) { String sqlSelect = null; Vector vdata = null;
sqlSelect = \ + jTextField1.getText().trim() + \;
appstu.util.RetrieveObject retrieve = new appstu.util.RetrieveObject();
vdata = retrieve.getObjectRow(sqlSelect); System.out.println(\ + vdata.size()); if (vdata.size() > 0) {
jPasswordField1.requestFocus(); } else {
javax.swing.JOptionPane.showMessageDialog(null, \输入的用户ID不存在,请重新输入!!!\, \系统提示\, javax.swing.JOptionPane.ERROR_MESSAGE); jTextField1.requestFocus(); } } }
public void jPasswordField1_keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ENTER) {
ActionEvent login = new ActionEvent(jBlogin, 0, null); jBlogin_actionPerformed(login); } }
24
public void jBexit_actionPerformed(ActionEvent e) {
int result = javax.swing.JOptionPane.showOptionDialog(null, \是否退出系统登录?\, \系统提示\, javax.swing.JOptionPane.YES_NO_OPTION, javax.swing.JOptionPane.QUESTION_MESSAGE, null, new String[] { \是\, \否\ }, \否\);
if (result == javax.swing.JOptionPane.YES_OPTION) { System.exit(0); } }
public void jBlogin_actionPerformed(ActionEvent e) { if (jTextField1.getText().trim().length() == 0 || jPasswordField1.getPassword().length == 0) {
javax.swing.JOptionPane.showMessageDialog(null, \用户密码不允许为空\, \系统提示\, javax.swing.JOptionPane.ERROR_MESSAGE); return; }
String pass = null;
pass = String.valueOf(jPasswordField1.getPassword()); String sqlSelect = null;
sqlSelect = \ + jTextField1.getText().trim() + \ + pass + \; Vector vdata = null;
appstu.util.RetrieveObject retrieve = new appstu.util.RetrieveObject();
vdata = retrieve.getObjectRow(sqlSelect);
System.out.println(vdata.size() + \ + vdata.get(0));
if (Integer.parseInt(String.valueOf(vdata.get(0))) > 0) { AppMain frame = new AppMain(); this.setVisible(false); } else {
javax.swing.JOptionPane.showMessageDialog(null, \输入的口令不正确,请重新输入!!!\, \系统提示\,
javax.swing.JOptionPane.ERROR_MESSAGE); jTextField1.setText(null);
jPasswordField1.setText(null); jTextField1.requestFocus(); return; } }
25
第六章 结束语
为期一周的课程设计结束了,在老师和同学的帮助下,我基本完成系统的设计。我按照系统工程软件设计的要求,从需求分析,概念设计,总体设计,详细设计,系统测试等各个步骤,分步完成系统的各项任务,实现了系统中的学生信息查询,学生信息更新,学生信息添加等模块的功能。
在这短短的五天里我收获如下:
1、巩固和加深了对JAVA的理解,提高了综合运用本课程所学知识的能力。
? 使用javabean来封装对象。由于对象具有多个属性,在传递对象属
性时,单个传递容易出错,而且代码可读性差。如果使用javabean来将其封装,就能很好地解决这些问题。
? 使用窗体控件开发桌面程序。在Swing中使用控件可减少代码书写
量加快开发速度。 ? 使用JDBC操作数据库。
? 批处理技术。如果频繁使用JDBC操作数据库,会影响系统性能。使
用批处理可以一次处理大量数据,能提高性能。
2、培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。
3、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。
根据我在课程设计中遇到的问题,我将在以后的学习当中注意以下几点: 1、认真上好专业实验课,多在实践中锻炼自己。 2、写程序的过程中要考虑周到,严密。
3、在做设计的时候要有信心,有耐心,切勿浮躁。
4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。
5、在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。
26
第七章参 考 文 献
[1] 耿祥义,张跃平.Java面向对象程序设计.北京:清华大学出版社 [2]萨师煊 王珊著.《数据库系统概论》第三版.高等教育出版社
[3陈昊鹏,王浩等译(美)Cay S.Horstmann,Gary Comell著.Java核心技术卷Ⅰ:基础知识.机械工业出版社
[4] 陈昊鹏,王浩等译(美)Cay S.Horstmann,Gary Comell著.Java核心技术卷Ⅱ:基础知识.机械工业出版社
[5]张莉 《SQL SEVER数据库原理及应用 》
[6]陈浩鹏译.(美)BruceEckel著.Java编程思想.机械工业出版社
[7] 施伯乐 丁宝康 汪卫.《数据库系统教程》 高等教育出版社2003年第2版 [8]庄成三等.《数据库系统原理及其应用》.电子工业出版社
27