【ACCESS精品源码栏目提醒】:以下是网学会员为您推荐的ACCESS精品源码-【精品】学生信息管理系统课程设计 - 其它资料,希望本篇文章对您学习有所帮助。
目 录1 设计时间 ....................................... 22 设计目的 ....................................... 23 设计任务 ....................................... 2 3.1 任务说明 ................................... 2 3.2 系统目标 ................................... 2 3.3 使用范围 ................................... 2 3.4 功能要求 ................................... 24 设计内容 ....................................... 3 4.1 界面构建 ................................... 3 4.2 详细设计 ................................... 3 4.2.1 模块设计 .............................. 3 4.2.2 数据库设计
Access .................... 4 4.2.3 运行调试 .............................. 4 4.2.4 主要源代码 ............................ 75 总结与展望 .................................... 171 设计时间 2011.6.112
设计目的 本程序用于用户对少量学生信息进行简单的管理,本程序针对于对安全系数要求不高,操作不是很复杂的小型客户开发。
本程序可以实现对学生信息的录入、查询、修改、删除等操作,同时支持查看所有学生信息,功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作。
同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低。
本程序数据库采用 office2003 版本的
access 数据库.mdb 进行数据存储,该数据库可实现关系较为简单的数据管理。
3 设计任务3.1 任务说明 设计一个简单学生个人信息
管理系统,该系统具有录入,查询,修改三项基本功能。
要求如下: 1具有简单的录入,查询和修改功能。
2修改学生信息必须输入学号,然后对姓名、性别和专业等进行修改; 3使用文件存储数据。
(也可用数据库) 4学生个人信息必须包括:学号、姓名、性别、出生日期、身份证号、专业、班级自 我简介,其余可自行丰富。
5具有对姓名,出生日期和身份证号进行简单校验的功能。
3.2 系统目标 软件开发的意图便于用户对学生的管理,方便查看学生的情况。
如用户对学生基本信息进行录入、
查询、修改、删除等。
3.3 使用范围 本
系统仅针对用户对少量学生进行信息管理。
3.4 功能要求 1 录入、查询、修改、删除、显示所有学生信息的功能 2 注册新用户、删除已注册用户信息的功能4 设计内容4.1 界面构建 1、为了便于各种操作,软件采用多窗口的模式。
用户可在不同窗口进行相应操作(录入、查询、修改、删除、显示所有学生省信息)。
2、主窗口是用户进行各种操作的平台,具体操作在各个独立功能窗口中完成。
3、主窗口的主要功能位于菜单中,菜单为进入各个功能窗口的唯一通道。
4、当用户在进行个别录入、删除或错误输入操作时,会弹出相应对话框提示用户。
如当录入成功或删除成功,弹出成功以及相应的简明信息提示当,当录入、删除失败以及输入不当是,弹出错误以及简单的错误原因提示用户重新操作。
5、界面布局尽量合理,各组件位置分布均匀美观。
4.2 详细设计4.2.1 模块设计 登录 密码确认 No Yes 进入操作界面 选择编辑对象 用户操作界面 学生信息操作界面 退出 删除用户
注册用户 添加数据 修改数据 查找数据 删除数据 图 1.流程图4.2.2 数据库设计
Access 图 2.学生信息表 图 3.管理员表4.2.3 运行调试 图 4.登录界面 图 5.操作界面图 6.添加学生信息图 7.删除学生信息图 8.修改学生信息 图 9.查找学生信息 图 10.注册用户 图 11.删除用户4.2.4 主要
源代码import java.awt.import javax.swing.import java.awt.event.import javax.swing.border.import javax.swing.JOptionPaneimport javax.swing.JLabelimport javax.swing.JPanelimport javax.swing.table.DefaultTableModelimport javax.swing.table.TableColumnimport java.sql.import java.awt.GridLayout class myStudent public myStudent public static void mainString args loginFrame lfnew loginFrame lf.setVisibletrue lf.addWindowListenernew WindowAdapter public void windowClosingWindowEvent e System.exit0 class mainFrame extends JFrame implements ActionListener MenuBar myMenuBarnew MenuBar Menu myMenuFilemyMenuEditmyMenuUsermyMenuAbout MenuItem miNewmiOpenmiSavemiSaveAsmiExit MenuItem miAddmiEditmiDelmiFindmiShowmiUsermiAbout public JTable table new JTable Icon background_iconnew ImageIconpct.jpg JLabel background_Labelnew JLabelbackground_iconpublic DefaultTableModel mm public mainFrame myMenuFilenew Menu文件 miNewnew MenuItem新建 miOpennew MenuItem打开 miSavenew MenuItem保存 miExitnew MenuItem退出 //miNew.enablefalse //miOpen.enablefalse //miSave.enablefalse //myMenuFile.addmiNew //myMenuFile.addmiOpen //myMenuFile.addmiSave myMenuFile.addmiExit myMenuEditnew Menu数据编辑 miFindnew MenuItem查找数据 miAddnew MenuItem添加数据 miEditnew MenuItem修改数据 miDelnew MenuItem删除数据 miShownew MenuItem全部显示 myMenuEdit.addmiFind myMenuEdit.addmiAdd myMenuEdit.addmiEdit myMenuEdit.addmiDel myMenuEdit.addmiShow myMenuUsernew Menu用户 miUsernew MenuItem编辑用户 myMenuUser.addmiUser myMenuAboutnew Menu我的
课程设计 miAboutnew MenuItem课程设计说明 myMenuAbout.addmiAbout myMenuBar.addmyMenuFile myMenuBar.addmyMenuEdit myMenuBar.addmyMenuUser myMenuBar.addmyMenuAbout String col 学号姓名性别民族年龄年级班级专业//创建属性列名 mm new DefaultTableModelcol0 table.setModelmm JScrollPane tableScrollPane new JScrollPanetable this.setMenuBarmyMenuBar this.addtableScrollPane miExit.addActionListenerthis miFind.addActionListenerthis miAdd.addActionListenerthis miEdit.addActionListenerthis miDel.addActionListenerthis miShow.addActionListenerthis miUser.addActionListenerthis miAbout.addActionListenerthis class myConnection ResultSet re String strurl jdbc:odbc:driverMicrosoft
Access Driver .mdbDBQ学生管理数据库.mdb public myConnection public ResultSet getResultString sql try Class.forNamesun.jdbc.odbc.JdbcOdbcDriver Connection connDriverManager.getConnectionstrurl Statementstmtconn.createStatementResultSet.TYPE_SCROLL_SENSITIVEResultSet.CONCUR_UPDATABLE ResultSet restmt.executeQuery
sql return re catchException e System.out.printlngetResult------e.toString return null class addFrame extends JDialog implements ActionListener public static final int WIDTH 400 public static final int HEIGHT 400 JLabel 学号1姓名1性别1民族1年龄1年级1班级1专业1 JTextField 学号姓名性别民族年龄年级班级专业 JButton b JPanel p mainFrame mfclass editFrame extends JDialog implements ActionListener public static final int WIDTH 400 public static final int HEIGHT 400 JLabel 学号1姓名1性别1民族1年龄1年级1班级1专业1 JTextField 学号姓名性别民族年龄年级班级专业 JButton b JPanel p mainFrame mfclass findFrame extends JDialog implements ActionListener mainFrame mf JPanel p JComboBox c JTextField t JButton b JButton fAll String sqlselect from student String colStr学号姓名性别民族年龄年级班级专业 public findFramemainFrame mmf mfmmf pnew JPanel cnew JComboBoxcolStr tnew JTextField10 bnew JButton查找 fAllnew JButton全部显示 b.addActionListenerthis fAll.addActionListenerthis p.addnew JLabel选择 p.addc p.addnew JLabel查找内容 p.addt p.addb p.addfAll this.addp this.setTitle查找 this.setSize45080 class aboutFrame extends JDialog aboutFrame JPanel p1new JPanel p1.addnew JLabel学生信息管理系统 p1.addnew JLabel赵壬冰 0920011023 p1.addnew JLabel辽宁工程技术大学 p1.addnew JLabel软件工程09-10 p1.setLayoutnew GridLayout4155 this.addp1 this.setTitle关于我 this.setSize300200 class userFrame extends JFrame implements ActionListener JTextField userpass JButton adddel JTable t JPanel p1p2p3p4p5 DefaultTableModel m public userFrame p1new JPanel p2new JPanel p3new JPanel p4new JPanel p5new JPanel usernew JTextField8 passnew JTextField8 addnew JButton添加 delnew JButton删除 String col 用户名密码 m new DefaultTableModelcol0 tnew JTable t.setModelm JScrollPane sp new JScrollPanetp1.addnew JLabel用户名p1.adduserp1.addnew JLabel密码p1.addpassp1.addaddp2.addspp3.adddeladd.addActionListenerthisdel.addActionListenerthismyConnection connnew myConnectionResultSet rsrsconn.getResultselect from 管理员if rsnull try //m.setRowCount0 //table.setModelmm whilers.next String 用户名 rs.getString用户名 String 密码 rs.getString密码 String cloumns 用户名密码 m.addRowcloumns t.setModelm catchException e System.out.printlne.toString this.addp1BorderLayout.NORTHthis.addp2BorderLayout.CENTER this.addp3BorderLayout.SOUTH this.addp4BorderLayout.WEST this.addp5BorderLayout.EAST this.setTitle用户管理 this.setSize600400 class loginFrame extends JDialog implements ActionListener JPanel p JTextField userpass JButton logincancel public loginFrame pnew JPanel usernew JTextField10 passnew JTextField10 loginnew JButton登录 cancelnew JButton退出 login.addActionListenerthis cancel.addActionListenerthis Icon background_iconnew ImageIconpct.jpg JLabel background_Labelnew JLabelbackground_icon p.addbackground_Label p.addnew JLabel账号 p.adduser p.addnew JLabel密码 p.addpass p.addlogin p.addcancel this.addp this.setTitle系统登录 this.setSize360260 5 总结与展望 做课设让我对 java 有了新的认识,首先我接触了很多上课见过见过但没有实际用过的类和方法,让我对编程有了许多新的思想。
大一学了 C 语言,虽然当时学的还不错,由于学的都是入门知识,所以自己做的都是DOS 下执行的
程序,虽然可以实现一定的功能,但和自己平时用的
软件相差很大。
这学期刚开课学 java 感觉没什么新鲜感,它的跨平台特性也只是听听,根本没有认识,知道学到图形界面 GUI 用户编程的时候,我发现学会之后自己可以做出来的软件就更接近平时使用的软件了,不过由于平时
学习不刻苦,到时没有时间静下心来写 java 代码,知道结课做课设,才静下心来开始研究 java,结合以前的编程知识,做起了自己的程序。
我曾经用 c 语言做过这个系统,做起来会比较熟练,同时想通过做课设学习一点数据库的知识,感觉这些知识更贴近实际应用,选好之后开始准备课设,先从最简单的主窗体,到主窗体的菜单,组件添加,再到各个功能的独立窗体的建立,再到最后的数据库连接,功能的实现,一步步走来,收获颇多。
其中独立窗体中的组件排版是碰到的第一个问题,最简单的方法是在建每个窗体时把所有需要的组件全部重新添加进去,但是这样代码会很长,而却会多占很多内存空间,于是我决定把个功能窗体中共同的组件在一个新方法中统一加载,为了减小占内存空间,组建的在主类的构造方法中生成,所有独立功能窗口公用组件,这样既减少了代码额长度,又提高了程序的内存利用率。
还有很多
问题,都在权衡之后得到了较优的解决方法。
它能够使这次课设还让我对 java 的跨平台性有了进一步认识,当我学好代码兴致勃勃的想把它做成 exe 可执行文件时,在网上
搜索之后发现它似乎很难实现,就是应为它的 java 语言的实现机制,通过 jre 来执行执行 java 代码,而不是调用系统本地代码。
除此之外我还学到了新的编程技巧,比如对 try,catch 的运用。
刚学的时候就是照书本上的打,很不情愿但是必须打的代码,在做课设时,我发现他又很神奇的功能可以帮助我解决用其他办法不好解决的问题,比如关闭窗口。
刚开始程序只有主窗口时,关闭很好实现,但随着程序功能的完善,需要关闭的窗口越来越多,需要关闭的类型也便多了,到了关闭 Dialog 的时候,发现 Dialog 不能强制转化为 Frame,如果想用前面的方法管还得把多处代码进行修改,不过我想到了用 try 来解决。
参考文献1李钟尉,马文强,陈丹丹 Java 从入门到精通 第 1 版 清华大学出版社 2008.92刘万军,梁清华,王松波,宋强
Java 程序设计实践教程 第 1 版 清华大学出版社 2006.9成绩评定成绩 教师签字