简单学生信息管理系统java课程设计.doc

上传人:jian****018 文档编号:8649649 上传时间:2020-03-30 格式:DOC 页数:15 大小:173KB
返回 下载 相关 举报
简单学生信息管理系统java课程设计.doc_第1页
第1页 / 共15页
简单学生信息管理系统java课程设计.doc_第2页
第2页 / 共15页
简单学生信息管理系统java课程设计.doc_第3页
第3页 / 共15页
点击查看更多>>
资源描述
数据库课程设计-简单学生信息管理系统学院:计算机科学学院专业:软件工程02学号:41109050209姓名:李欢欢目录 1设计目的32设计任务32.1任务说明32.2系统目标42.2使用范围42.3功能要求43 设计内容43.1界面构建43.2详细设计53.2.1模块设计53.2.2数据库设计53.2.3运行调试63.2.4主要源代码105总结与展望10参考文献111 设计目的本程序用于用户对少量学生信息进行简单的管理,本程序针对于对安全系数要求不高,操作不是很复杂的小型客户开发。本程序可以实现对学生信息的添加、查询、修改、删除等操作,同时支持查看所有学生信息,功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作。同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低该数据库可实现关系较为简单的数据管理。2 设计任务2.1任务说明设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。要求如下: (1)具有简单的录入,查询和修改功能。 (2)修改学生信息必须输入学号,然后对姓名、性别和专业等修改; (3)使用文件存储数据。(也可用数据库) (4)学生个人信息必须包括:学号、姓名、性别、籍贯、系别。 2.2系统目标软件开发的意图便于用户对学生的管理,方便查看学生的情况。如用户对学生基本信息进行录入、查询、修改、删除等。2.2使用范围 本系统仅针对用户对少量学生进行信息管理。2.3功能要求 1录入学生基本信息的功能 2查询学生基本信息的功能 3修改学生基本信息的功能 4删除学生基本信息的功能 5显示所有学生信息的功能3 设计内容3.1界面构建1、为了便于各种操作,软件采用多窗口的模式。用户可在不同窗口进行相应操作(录入、查询、修改、删除、显示所有学生省信息)。 2、主窗口是用户进行各种操作的平台,具体操作在各个独立功能窗口中完成。 3、主窗口的主要功能位于菜单中,菜单为进入各个功能窗口的唯一通道。 4、当用户在进行个别录入、删除或错误输入操作时,会弹出相应对话框提示用户。如当录入成功或删除成功,弹出成功以及相应的简明信息提示当,当录入、删除失败以及输入不当是,弹出错误以及简单的错误原因提示用户重新操作。 5、界面布局尽量合理,各组件位置分布均匀美观。3.2详细设计进入界面3.2.1模块设查询修改删除添加3.2.2数据库设计学生信息表3.2.3运行调试操作界面 添加学生信息修改学生信息查找学生信息3.2.4主要源代码import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;public class SqlHelper /对数据库进行操作PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;String driver=com.microsoft.jdbc.sqlserver.SQLServerDriver;String url=jdbc:microsoft:sqlserver:/127.0.0.1:1433;databaseName=Jsql;String user=sa;String passwd=sa;public void close()try if(rs!=null) rs.close(); if(ps!=null) ps.close(); if(ct!=null) ct.close(); catch(Exception e) e.printStackTrace(); public ResultSet queryExecute(String sql)try Class.forName(driver); ct=DriverManager.getConnection(url, user, passwd); ps=ct.prepareStatement(sql); rs=ps.executeQuery(); catch(Exception e)e.printStackTrace();finally return rs;/查询数据库操作public ResultSet queryExectue(String sql,String paras)try Class.forName(driver); ct=DriverManager.getConnection(url, user, passwd);ps=ct.prepareStatement(sql);for(int i=0; iparas.length; i+) ps.setString(i+1, parasi); rs=ps.executeQuery(); catch(Exception e) e.printStackTrace(); finally return rs; /把增、删、改放在一起对数据库操作SuppressWarnings(finally)public boolean updExecute(String sql,String paras)boolean b=true;try Class.forName(driver); ct=DriverManager.getConnection(url, user, passwd); ps=ct.prepareStatement(sql); for(int i=0; iparas.length; i+) ps.setString(i+1, parasi); if(ps.executeUpdate()!=1) b=false; catch (Exception e) b=false; e.printStackTrace(); finally return b; import javax.swing.*;import java.sql.*;import java.util.*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import java.awt.*;import java.awt.Event.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;/学生管理类public class StuManger extends JFrame implements ActionListener JPanel jp1,jp2; JLabel jl1; JButton jb1,jb2,jb3,jb4; JTable jt; JScrollPane jsp; JTextField jtf; StuMod ms; public static void main(String args) StuManger s=new StuManger(); public StuManger() jp1=new JPanel(); jtf=new JTextField(10); jb1=new JButton(查询); jb1.addActionListener(this); jl1=new JLabel(请输入名字); jp1.add(jl1); jp1.add(jtf); jp1.add(jb1); jp2=new JPanel(); jb2=new JButton(添加); jb2.addActionListener(this); jb3=new JButton(删除); jb3.addActionListener(this); jb4=new JButton(修改); jb4.addActionListener(this); jp2.add(jb2); jp2.add(jb3); jp2.add(jb4); ms=new StuMod(); String paras=1; ms.queryStu(select * from stu where 1=?, paras); jt=new JTable(ms); jsp=new JScrollPane(jt); this.add(jsp); this.add(jp1,North); this.add(jp2,South); this.setSize(400,300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubif(e.getSource()=jb1)System.out.println(希望查询);String name=this.jtf.getText().trim();String sql=select * from stu where stuName=?;String paras=name; ms=new StuMod();ms.queryStu(sql, paras); jt.setModel(ms); else if(e.getSource()=jb2) StuAddDialog g=new StuAddDialog(this,添加学生,true); ms=new StuMod(); String paras2=1; ms.queryStu(select * from stu where 1=?, paras2); jt.setModel(ms); else if(e.getSource()=jb4) int rowNum=this.jt.getSelectedRow(); if(rowNum=-1) JOptionPane.showMessageDialog(this, 请选择一行); return; / new StuUpdDialog(this,修改,true,ms,rowNum); ms=new StuMod(); String paras2=1; ms.queryStu(select * from stu where 1=?, paras2); jt.setModel(ms); String stuId=(String)ms.getValueAt(rowNum,0); System.out.println(id=+stuId); /删除 else if(e.getSource()=jb3) int rowNum=this.jt.getSelectedRow(); if(rowNum=-1) JOptionPane.showMessageDialog(this, 请选择一行); return; jt.setModel(ms);String stuId=(String)ms.getValueAt(rowNum,0);System.out.println(id=+stuId);String sql=delete from stu where stuid=?;String paras=stuId;StuMod temp=new StuMod();temp.updStu(sql, paras); ms=new StuMod();String paras2=1; ms.queryStu(select * from stu where 1=?, paras2);jt.setModel(ms); 5总结与展望做课设让我对java有了新的认识,首先我接触了很多上课见过见过但没有实际用过的类和方法,让我对编程有了许多新的思想。大一学了C语言,虽然当时学的还不错,由于学的都是入门知识,所以自己做的都是DOS下执行的程序,虽然可以实现一定的功能,但和自己平时用的软件相差很大。这学期刚开课学java感觉没什么新鲜感,它的跨平台特性也只是听听,根本没有认识,知道学到第七章图形界面用户编程的时候,我发现学会之后自己可以做出来的软件就更接近平时使用的软件了,不过由于平时学习不刻苦,到时没有时间静下心来写java代码,知道结课做课设,才静下心来开始研究java,结合以前的编程知识,做起了自己的程序。我曾经用c语言做过这个系统,做起来会比较熟练,同时想通过做课设学习一点数据库的知识,感觉这些知识更贴近实际应用,选好之后开始准备课设,先从最简单的主窗体,到主窗体的菜单,组件添加,再到各个功能的独立窗体的建立,再到最后的数据库连接,功能的实现,一步步走来,收获颇多。其中独立窗体中的组件排版是碰到的第一个问题,最简单的方法是在建每个窗体时把所有需要的组件全部重新添加进去,但是这样代码会很长,而却会多占很多内存空间,于是我决定把个功能窗体中共同的组件在一个新方法中统一加载,为了减小占内存空间,组建的在主类的构造方法中生成,所有独立功能窗口公用组件,这样既减少了代码额长度,又提高了程序的内存利用率。还有很多问题,都在权衡之后得到了较优的解决方法。它能够使这次课设还让我对java的跨平台性有了进一步认识,当我学好代码兴致勃勃的想把它做成exe可执行文件时,在网上搜索之后发现它似乎很难实现,就是应为它的java语言的实现机制,通过jre来执行执行java代码,而不是调用系统本地代码。除此之外我还学到了新的编程技巧,比如对try,catch的运用。刚学的时候就是照书本上的打,很不情愿但是必须打的代码,在做课设时,我发现他又很神奇的功能可以帮助我解决用其他办法不好解决的问题,比如关闭窗口。刚开始程序只有主窗口时,关闭很好实现,但随着程序功能的完善,需要关闭的窗口越来越多,需要关闭的类型也便多了,到了关闭Dialog的时候,发现Dialog不能强制转化为Frame,如果想用前面的方法管还得把多处代码进行修改,不过我想到了用try来解决这个问题。 参考文献1李钟尉,马文强,陈丹丹Java从入门到精通 第1版 清华大学出版社 2008.92刘万军,梁清华,王松波,宋强Java程序设计实践教程 第1版清华大学出版社2006.9
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!