版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库课程设计-简单学生信息管理系统学院:计算机科学学院专业:软件工程02学号:姓名:李欢欢目录 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 设计任务2.1任务说明设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。要求如下: (1)具有简单的录入,查询和修改功能。 (2)修改学生信息必须输入学号,然后对姓名、性别和专业等修改; (3)使用文件存储数据。(也可用数据库) (4)学生个人信息必须包括:学号、姓名、性别、籍贯、系别。 2.2系统目标软件开发的意图便于用户对学生的管理,方便查看学生的情况。如用户对学生基本信息进行录入、查询、修改、删除等。2.2使用范围 本系统仅针对用户对少量
3、学生进行信息管理。2.3功能要求 1录入学生基本信息的功能 2查询学生基本信息的功能 3修改学生基本信息的功能 4删除学生基本信息的功能 5显示所有学生信息的功能3 设计内容3.1界面构建1、为了便于各种操作,软件采用多窗口的模式。用户可在不同窗口进行相应操作(录入、查询、修改、删除、显示所有学生省信息)。 2、主窗口是用户进行各种操作的平台,具体操作在各个独立功能窗口中完成。 3、主窗口的主要功能位于菜单中,菜单为进入各个功能窗口的唯一通道。 4、当用户在进行个别录入、删除或错误输入操作时,会弹出相应对话框提示用户。如当录入成功或删除成功,弹出成功以及相应的简明信息提示当,当录入、删除失败以
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 /对数据库进行操作PreparedStatem
5、ent 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.c
6、lose(); 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 q
7、ueryExectue(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; /把增、删、改放在一起对数据库操作Su
8、ppressWarnings(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 (Exce
9、ption 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.*;im
10、port 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
11、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(
12、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,3
13、00); 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=n
14、ame; 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
15、(); 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
16、 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(
17、);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感觉没什么新鲜感,它的跨平台特性也只是听听,根本没
18、有认识,知道学到第七章图形界面用户编程的时候,我发现学会之后自己可以做出来的软件就更接近平时使用的软件了,不过由于平时学习不刻苦,到时没有时间静下心来写java代码,知道结课做课设,才静下心来开始研究java,结合以前的编程知识,做起了自己的程序。我曾经用c语言做过这个系统,做起来会比较熟练,同时想通过做课设学习一点数据库的知识,感觉这些知识更贴近实际应用,选好之后开始准备课设,先从最简单的主窗体,到主窗体的菜单,组件添加,再到各个功能的独立窗体的建立,再到最后的数据库连接,功能的实现,一步步走来,收获颇多。其中独立窗体中的组件排版是碰到的第一个问题,最简单的方法是在建每个窗体时把所有需要的组件全部重新添加进去,但是这样代码会很长,而却会多占很多内存空间,于是我决定把个功能窗体中共同的组件在一个新方法中统一加载,为了减小占内存空间,组建的在主类的构造方法中生成,所有独立功能窗口公用组件,这样既减少了代码额长度,又提高了程序的内存利用率。还有很多问题,都在权衡之后得到了较优的解决方法。它能够使这次课设还让我对java的跨平台性有了进一步认识,当我学好代码兴致勃勃的想把它做成exe可执行文件时,在网上搜索之后发现它似乎很难实现,就是应为它的java语言的实现机制,通过jre来执行执行java代码,而不是调用系统本地代码。除此之外我还学到了新的编程技巧,比如对try,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 在职护士考试题目及答案
- 2026六年级数学下册 圆锥体积变化
- 2026六年级数学上册 分数乘法探究学习
- 2026九年级上语文沁园春雪朗读指导训练
- 作业服务跟踪制度
- 纤支镜培训试题及答案
- 2026三年级数学下册 数学素养提升
- 人均可支配收入调查制度
- 托养机构奖惩制度范本
- 达标安全生产奖惩制度
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- JCT412.1-2018 纤维水泥平板 第1部分:无石棉纤维水泥平板
- 司马光《与王介甫书》原文注释赏析译文
- 沙洲电厂“1014”电气误操作全厂停电事故通报
- 不说脏话从我做起主题班会PPT模板
- 肝硬化患者护理查房
- 下肢静脉曲张的护理
- 食品质量与安全第一章绪论
- 2023年安徽汽车职业技术学院单招职业适应性测试题库及答案解析
- YY/T 0698.2-2022最终灭菌医疗器械包装材料第2部分:灭菌包裹材料要求和试验方法
- GB/T 18314-2009全球定位系统(GPS)测量规范
评论
0/150
提交评论