ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:117.16KB ,
资源ID:8991545      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8991545.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用Java与SQLServer做的学生管理系统.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用Java与SQLServer做的学生管理系统.docx

1、用Java与SQLServer做的学生管理系统 中北大学 数据库原理 课 程 设 计 说 明 书学生姓名: 武大为学 号:11060342X37学生姓名:李力钊学 号:11060342X28学生姓名:周荣祥学 号:11060342X20学生姓名:南子锐学 号:11060342X44学 院:信息商务学院专 业:计算机科学与技术题 目:学生学籍管理系统指导教师武瑞娟 2013年 6月27日 1设计目的:按照关系型数据库的基本原理,综合运用所学的知识,以小组为单位,设计开发一个小型的学生学籍管理系统。通过对一个实际问题的分析、设计与实现,将原理与应用相结合,使学生学会如何把书本上学到的知识用于解决实

2、际问题,培养学生的动手能力;另一方面,使学生能深入理解和灵活掌握教学内容。2设计内容:设计内容:设计如下主要功能模块1)实现学生基本情况的录入、修改、删除等基本操作。2)对学生基本信息提供灵活的查询方式。3)完成一个班级的学期选课功能。4)实现学生成绩的录入、修改、删除等基本操作。5)能方便的对学生的一个学期成绩进行查询。6)具有成绩统计、排名等功能。7)具有留级、休学等特殊情况的处理功能。8)能输出常用的各种报表。9)具有数据备份和数据恢复功能。设计要求:学生成绩表的设计,要考虑到不同年级的教学计划的变化情况。对于新生班级,应该首先进行基本情况录入、选课、然后才能进行成绩录入。3功能模块详细

3、设计3.1 详细设计思想 这个学生管理系统,我们组用Java的JDK1.6开发工具和微软的Microsoft SQL Server数据库两者相结合做出来的。一数据库的设计: 1创建数据库StudentManager图1.01.1创建表:ClassInfo图1.11.2创建表:DepartmentInfo图1.21.3创建表:StudentInfo图1.3二创建“数据源(ODBC)”具体步骤:“开始”-“控制面板”-“管理工具”-“数据源(ODBC)-在用户DNS里,点“添加”-在数据源驱动列表最下方选择“SQLServer”-点“完成”-出现了一个创建到SQL Server的新数据源-在数据源

4、“名称”右侧,填写数据库的名称;在“服务器”右侧,写(local) -点“下一步”-继续点“下一步”-在更改默认的数据库为“StudentManager”,这里的数据库为我刚刚新建的数据库。-点“下一步”-点“完成”-出现一个“ODBC Microsoft SQL Server 安装”对话框-点击下面的“测试数据源”-出现图2.1就好了。图2.1-下面依次点击“确定”就完成了。-完成了以后,你会在数据源里看到自己刚刚新建的数据源,名为:“StudentManager”图2.23.2 核心代码:三代码的编写:3.1数据库连接类的代码(文件名:DBConnect.java)注意,这个文件最先编译,

5、因为后面的几个文件的编译会用到该文件编译完产生的DBConnect.class文件/导入sql数据库包import java.sql.*;/创建数据库连接类public class DBConnect /静态方法提高数据库的连接效率 public static Connection getConn() throws Exception /加载JDBC驱动 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); /以系统默认用户身份,连接数据库StudentManager return DriverManager.getConnection(jdbc:odbc:

6、StudentManager,); 3.2添加学生面板类的代码(文件名:AddStudentPanel.java)/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/创建“添加学生面板”类public class AddStudentPanel extends JPanel implements ActionListener /声明连接数据库对象 Connection con; /声明SQL语句对象 Statement st; /创建组件对象:标签、文本行、单选 JL

7、abel jLabel1=new JLabel(学号); JLabel jLabel2=new JLabel(姓名); JLabel jLabel3=new JLabel(性别); JLabel jLabel4=new JLabel(出生日期); JLabel jLabel5=new JLabel(籍贯); JLabel jLabel6=new JLabel(注意:出生日期格式为YYYY-MM-DD); JTextField jTextField1=new JTextField(); JTextField jTextField2=new JTextField(); JTextField jTe

8、xtField3=new JTextField(); JTextField jTextField4=new JTextField(); JRadioButton jRadioButton1=new JRadioButton(男); JRadioButton jRadioButton2=new JRadioButton(女); ButtonGroup buttonGroup1=new ButtonGroup(); JButton jButton1=new JButton(存入数据库); /构造方法 public AddStudentPanel() try /调用初始化方法 jbInit(); c

9、atch(Exception exception) exception.printStackTrace(); /界面初始化方法 private void jbInit() throws Exception /连接数据库 con=DBConnect.getConn(); /创建一个statement对象来将SQL语句发送到数据库 st=con.createStatement(); /框架的布局 this.setLayout(null); /设置各组件的大小 jLabel1.setBounds(new Rectangle(21,17,64,24); jLabel2.setBounds(new Re

10、ctangle(21,51,53,22); jLabel3.setBounds(new Rectangle(21,86,61,27); jLabel4.setBounds(new Rectangle(21,122,59,25); jLabel5.setBounds(new Rectangle(21,188,54,24); jLabel6.setBounds(new Rectangle(102,153,219,27); jTextField1.setBounds(new Rectangle(102,10,200,30); jTextField2.setBounds(new Rectangle(1

11、02,49,200,30); jTextField3.setBounds(new Rectangle(102,117,200,33); jTextField4.setBounds(new Rectangle(102,183,200,29); jRadioButton1.setBounds(new Rectangle(102,83,65,30); jRadioButton2.setBounds(new Rectangle(190,85,85,30); jButton1.setBounds(new Rectangle(103,217,180,30); /设置单选按钮被选中 jRadioButton

12、1.setSelected(true); /添加按钮动作事件 jButton1.addActionListener(this); /添加组件到面板 this.add(jTextField1); this.add(jLabel1); this.add(jLabel2); this.add(jTextField2); this.add(jRadioButton1); this.add(jRadioButton2); this.add(jLabel3); this.add(jLabel4); this.add(jTextField3); this.add(jLabel6); this.add(jTe

13、xtField4); this.add(jLabel5); this.add(jButton1); buttonGroup1.add(jRadioButton1); buttonGroup1.add(jRadioButton2); /点击按钮事件/事件相应器 当你定义的事件捕捉以后就会执行这个里面的代码 public void actionPerformed(ActionEvent e) /获取用户输入的信息 String xuehao=jTextField1.getText(); String xingming=jTextField2.getText(); String xingbie=;

14、if(jRadioButton1.isSelected() xingbie+=男; if(jRadioButton2.isSelected() xingbie+=女; String dateString=jTextField3.getText(); String jiguan=jTextField4.getText(); try /设置日期格式 st.execute(set dateformat ymd); /利用st对象执行SQL语句,进行插入操作 st.executeUpdate(insert into StudentInfo values(+xuehao+,+xingming+,+xin

15、gbie+,+dateString+,+jiguan+,+xuehao.substring(4,6)+,+xuehao.substring(0,6)+); /清空文本行的内容 jTextField1.setText(); jTextField2.setText(); jTextField3.setText(); jTextField4.setText(); /利用消息对话框提示删除操作成功 JOptionPane.showMessageDialog(this,插入成功!); catch(Exception ex) /利用消息对话框提示不能插入,并显示异常的信息 JOptionPane.show

16、MessageDialog(this,输入数据错误或者数据库不允许插入!); ex.printStackTrace(); 3.3删除学生面板类的代码(文件名:DeleteStudentPanel.java)/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/创建“删除学生面板”类public class DeleteStudentPanel extends JPanel implements ActionListener /声明连接数据库对象 Connection c

17、on; /声明SQL语句对象 Statement st; /创建组件对象 JLabel jLabel1=new JLabel(请输入待删除的学生的学号:); JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(删除); /构造方法 public DeleteStudentPanel() try /调用初始化方法 jbInit(); catch(Exception exception) exception.printStackTrace(); /界面初始化方法 private void jbInit() th

18、rows Exception /连接数据库 con=DBConnect.getConn(); st=con.createStatement(); /框架的布局 this.setLayout(null); /设置各组件的大小 jLabel1.setFont(new java.awt.Font(宋体,Font.BOLD,14); jLabel1.setBounds(new Rectangle(70,20,200,30); jTextField1.setBounds(new Rectangle(70,80,207,41); jButton1.setBounds(new Rectangle(70,17

19、5,205,36); /添加按钮动作事件 jButton1.addActionListener(this); /添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jButton1); /点击按钮事件 public void actionPerformed(ActionEvent e) /获取用户输入的学号 String xuehao=jTextField1.getText(); /要求用户确认删除 if(JOptionPane.showConfirmDialog(this,确认要删除吗?)=JOptionPane.YES_OP

20、TION) try /利用st对象执行SQL删除操作 st.executeUpdate(delete from StudentInfo where 学号=+xuehao+); /利用消息对话框提示删除操作成功 JOptionPane.showMessageDialog(this,删除操作成功!); /清空输入学号的文本行 jTextField1.setText(); catch(Exception ex) /利用消息对话框提示不能删除 JOptionPane.showMessageDialog(this,删除操作执行失败!); 3.4按姓名查询学生面板类的代码(文件名:InquireOnNam

21、ePanel.java)/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/创建“添加学生面板”类public class InquireOnNamePanel extends JPanel implements ActionListener /声明连接数据库对象 Connection con; /声明SQL语句对象 Statement st; /创建组件对象:标签、文本行、单选 JLabel jLabel1=new JLabel(请输入待查询的学生的姓名:); JT

22、extField jTextField1=new JTextField(); JButton jButton1=new JButton(按姓名查询); JScrollPane jScrollPane1=new JScrollPane(); JTextArea jTextArea1=new JTextArea(); /构造方法 public InquireOnNamePanel() try /调用初始化方法 jbInit(); catch(Exception exception) exception.printStackTrace(); /面板初始化方法 private void jbInit(

23、) throws Exception /连接数据库 con=DBConnect.getConn(); st=con.createStatement(); /框架的布局 this.setLayout(null); /设置各组件的大小 jLabel1.setFont(new java.awt.Font(宋体,Font.BOLD,14); jLabel1.setBounds(new Rectangle(80,10,200,34); jTextField1.setBounds(new Rectangle(80,50,200,30); jButton1.setBounds(new Rectangle(1

24、00,90,160,30); jScrollPane1.setBounds(new Rectangle(29,125,308,130); /添加按钮动作事件 jButton1.addActionListener(this); /添加组件到面板 this.add(jScrollPane1); jScrollPane1.getViewport().add(jTextArea1); this.add(jLabel1); this.add(jTextField1); this.add(jButton1); /点击按钮事件 public void actionPerformed(ActionEvent

25、e) /获取用户输入的姓名 String xingming=jTextField1.getText(); /清空文本区原有的内容 jTextArea1.setText(); /要求用户确认删除 try /利用st对象执行SQL语句,返回结果集对象 ResultSet rs=st.executeQuery(select * from StudentInfo where 姓名=+xingming+); /处理结果集:逐条显示结果集中的记录 while(rs.next() jTextArea1.append(rs.getString(学号)+ +rs.getString(姓名)+ +rs.getSt

26、ring(性别)+ +rs.getDate(出生日期)+ +rs.getString(籍贯)+n); catch(Exception ex) /利用消息对话框提示查询失败 JOptionPane.showMessageDialog(this,查询失败!); /清空文本行的内容 jTextField1.setText(); 3.5按学号查询学生面板类的代码(文件名:InquireOnXHPanel.java)/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/创建“添加

27、学生面板”类public class InquireOnXHPanel extends JPanel implements ActionListener /声明连接数据库对象 Connection con; /声明SQL语句对象 Statement st; /创建组件对象:标签、文本行、单选 JLabel jLabel1=new JLabel(请输入待查询的学生的学号:); JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(按学号查询); JTextArea jTextArea1=new JTextAre

28、a(); /构造方法 public InquireOnXHPanel() try /调用初始化方法 jbInit(); catch(Exception exception) exception.printStackTrace(); /面板初始化方法 private void jbInit() throws Exception /连接数据库 con=DBConnect.getConn(); st=con.createStatement(); /框架的布局 this.setLayout(null); /设置各组件的大小 jLabel1.setFont(new java.awt.Font(宋体,Font.BOLD,16); jLabel1.setBounds(new Rectangle(46,4,222,32); jTextField1.setBounds(new Rectangle(47,37,247,31); jButton1.setBounds(new Rectangle(4

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1