设计数据库课程设计(Java实现).docx

上传人:啊飒飒 文档编号:10818239 上传时间:2021-06-05 格式:DOCX 页数:13 大小:381.58KB
返回 下载 相关 举报
设计数据库课程设计(Java实现).docx_第1页
第1页 / 共13页
设计数据库课程设计(Java实现).docx_第2页
第2页 / 共13页
设计数据库课程设计(Java实现).docx_第3页
第3页 / 共13页
设计数据库课程设计(Java实现).docx_第4页
第4页 / 共13页
设计数据库课程设计(Java实现).docx_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《设计数据库课程设计(Java实现).docx》由会员分享,可在线阅读,更多相关《设计数据库课程设计(Java实现).docx(13页珍藏版)》请在三一文库上搜索。

1、 一、 课程设计目的在数据库原理课程基础上,培养学生综合运用数据库知识的能力。学会数据库的设计、规划以及应用程序的开发和调试,使学生掌握客户机/服务器体系结构,学会大型数据库的工作模式。大型数据库管理系统存放于服务器,数据库放在服务器上,学生在客户机上开发应用程序访问服务器上的数据库,并完成应用系统所要求的各项功能,应用程序的开发需要采用当前流行的新软件。二、课程设计内容1数据库的设计根据学生信息管理系统,经过调查研究,构建合理的数据库。首先构建基本表以及表和表之间的联系,在此基础上构建视图和索引表。2服务器的组织根据建立的基本表、视图和索引表搭建服务器。34前端开发工具:java 学习并完成

2、编写程序。服务器端:SQL Server2012开发应用程序利用所学的新软件开发工具进行应用程序的开发。连接、调试。5三、软硬件环境及系统所采用的体系结构系统的体系结构为 C/S 结构,具体开发工具为 Ecplise ,前台为 Java,后台数据库一般为 SQL Server2012。四、需求分析通过对学生信息管理的了解,确定本系统具备一下功能。多用户账号登录只要通过用户登录验证后,能对学生的记录信息进行修改,增加,删除等操作。五、系统设计1系统结构图学生信息管理增加删除修改浏览a.功能模块图 修改增加查看成绩下一条删除查询上一条删除选课查看学科成绩增加选课修改2数据库设计学生包含的信息:姓名

3、电话住址宿舍 NM学生课程选择密码用户名Login 表USE StudentGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE dbo.Login(userName nvarchar(20) NOT NULL,password nvarchar(10) NULL,CONSTRAINT PK_Login PRIMARY KEY CLUSTERED(userName ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLO

4、W_ROW_LOCKS= ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGO StudentIfor 表USE StudentGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE dbo.StudentIfor(code nvarchar(10) NOT NULL,name nvarchar(10) NOT NULL,sex nchar(2) NOT NULL,room nvarchar(10) NOT NULL,address nvarchar(50) NULL,tel nv

5、archar(11) NULL,CONSTRAINT PK_StudentInfor PRIMARY KEY CLUSTERED(code ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS= ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGOCrouse 表 CREATE TABLE dbo.Course(courseID nchar(5) NOT NULL,courseName nvarchar(40)

6、 NOT NULL,CONSTRAINT PK_Course PRIMARY KEY CLUSTERED(courseID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS= ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGOStudent_Crouse表CREATE TABLE dbo.Student_Course(code nvarchar(10) NOT NULL,courseID nchar(5)

7、 NOT NULL,courseGrade float NULL,CONSTRAINT PK_Student_Course PRIMARY KEY CLUSTERED(code ASC,courseID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS= ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGO六、系统的实施系统的实现方法是用 java 结合 SqlServer2012,用 java 编写前端的

8、用户界面主要的界面代码如下:public class windows implements ActionListenerprivate JFrameprivate JLabelframe;label;private JTextField textField;private JListprivate JScrollPanelist;jscrollPane;private DefaultListModel listModel; private JRadioButton mjRadioButton, fjRadioButton;private ButtonGroupprivate JButtonpr

9、ivate JButtonsetButtonGrop;button;jbu;private Containerprivate ResultSetprivate String con;resultSet;sinfor = * 学号:,* 姓名:,* 性别:,*宿舍:,住址:,电话:;private String binfor = 增加,删除,修改,查找,上一条,下一条;public windows() frame = new JFrame(学生信息管理 );con = frame.getContentPane();con.setLayout(null);frame.setLocation(350

10、, 150);frame.setSize(7770/15, 6000/15);frame.setResizable(false);textField = new JTextField6;label = new JLabel6;button = new JButton6;for(int i = 0; i 6; i+)labeli = new JLabel(sinfori);labeli.setLocation(5, 3 + (i * 670/15);labeli.setSize(570/15, 670/15);con.add(labeli);if(i != 2)textFieldi = new

11、JTextField();textFieldi.setSize(200, 470/15);textFieldi.setLocation(770/15,5 +(i * 670/15);con.add(textFieldi);elsemjRadioButton = new JRadioButton(男,false);mjRadioButton.setVisible(true);mjRadioButton.setSize(570/15, 670/15);mjRadioButton.setLocation(970/15,5 + (2 * 670/15);mjRadioButton.addActionL

12、istener(this);mjRadioButton.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);fjRadioButton = new JRadioButton(女,false);fjRadioButton.setSize(570/15, 670/15);fjRadioButton.setLocation(2070/15,5 + (2 * 670/15); fjRadioButton.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);fjRadioButto

13、n.setVisible(true);fjRadioButton.addActionListener(this);setButtonGrop = new ButtonGroup();setButtonGrop.add(mjRadioButton);setButtonGrop.add(fjRadioButton);con.add(mjRadioButton);con.add(fjRadioButton);buttoni = new JButton(binfori);buttoni.setSize(1570/15,370/15);buttoni.setCursor(Cursor.getPredef

14、inedCursor(Cursor.HAND_CURSOR);buttoni.addActionListener(this);if(i = 2)buttoni.setLocation(240/15 + (i * 2000/15),4300/15);elsebuttoni.setLocation(240/15 + (i-3)* 2000/15), 4300/15 +450/15);con.add(buttoni);jbu = new JButton(查看成绩);jbu.setSize(1570/15, 800/15);jbu.setLocation(3 * 2000/15, 4300/15);j

15、bu.addActionListener(this);con.add(jbu);select se = new select();resultSet = se.selectTable();listModel = new DefaultListModel();try while(resultSet.next()listModel.addElement(resultSet.getString(code) +resultSet.getString(name); catch (SQLException e) e.printStackTrace();se.isDisconnection();list =

16、 new JList(listModel);list.addMouseListener(new MouseAdapter()public void mouseClicked(MouseEvent e)if(e.getClickCount() = 2 & list.getSelectedIndex() != -1)clickTwo(list.getSelectedValue(); );jscrollPane = new JScrollPane(list);jscrollPane.setSize(200, 250);jscrollPane.setLocation(270, 7);con.add(j

17、scrollPane);frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);应用程序的编制方法是用户点击给出的功能按钮实现对应的功能,按钮响应中调用相应的类及方法,重要代码如下:private void clickTwo(Object value)String str = null;ResultSet re;select se;str = value.toString().substring(0, 8);str.trim();se = new select();re = se.selectCod

18、e(str);try textField0.setText( re.getString(code);textField1.setText(re.getString(name);if(re.getString(sex).equals(女 ) = true)fjRadioButton.setSelected(true);elsemjRadioButton.setSelected(true);textField3.setText(re.getString(room);textField4.setText(re.getString(address);textField5.setText(re.getS

19、tring(tel); catch (SQLException e) e.printStackTrace();se.isDisconnection();public void actionPerformed(ActionEvent e) String code = null, name = null, sex = , room = null, address =null, tel= null;if(e.getSource() = button0)code = textField0.getText();name = textField1.getText();Enumeration en=setB

20、uttonGrop.getElements();while(en.hasMoreElements()AbstractButton ab=en.nextElement();if(ab.isSelected()sex = ab.getText(); room = textField3.getText();address = textField4.getText();tel = textField5.getText();code.trim();name.trim();room.trim();address.trim();tel.trim();if(code.equals()!= true & nam

21、e.equals()!=true &room.equals()!=true & sex.equals()!= true) if(new addInfor(code, name, sex, address, room,tel).addToDataBase() = true)JOptionPane.showMessageDialog(frame, 增加成功);select se = new select();resultSet = se.selectTable();listModel = new DefaultListModel();try while(resultSet.next()listMo

22、del.addElement(resultSet.getString(code) +resultSet.getString(name); catch (SQLException e1) e1.printStackTrace();list.setModel(listModel);se.isDisconnection();for(int i = 0; i 6; i+)if(i != 2)textFieldi.setText();elseJOptionPane.showMessageDialog(frame, 增加失败 ,请核对信息);elseJOptionPane.showMessageDialo

23、g(frame, 填入信息不全,请核对,警告,JOptionPane.WARNING_MESSAGE);if(e.getSource() = mjRadioButton | e.getSource() = fjRadioButton)sex = e.getActionCommand();if(e.getSource() = button1) String deli = null;deli = JOptionPane.showInputDialog(frame, 请输入删除的学号:);if(deli != null)deli.trim();if(deli.equals() != true)if(

24、new deleteInfor(deli).studentDel() = true)JOptionPane.showMessageDialog(frame, 删除成功);select se = new select();resultSet = se.selectTable();listModel = new DefaultListModel();try while(resultSet.next()listModel.addElement(resultSet.getString(code) + resultSet.getString(name); catch (SQLException e1)

25、e1.printStackTrace();list.setModel(listModel);se.isDisconnection();elseJOptionPane.showMessageDialog(frame, 删除失败 ,请核对信息);elseJOptionPane.showMessageDialog(frame, 学号不能为空,错误,JOptionPane.ERROR_MESSAGE);if(e.getSource() = button2)code = textField0.getText();name = textField1.getText();Enumeration en=set

26、ButtonGrop.getElements();while(en.hasMoreElements()AbstractButton ab=en.nextElement();if(ab.isSelected()sex = ab.getText();room = textField3.getText();address = textField4.getText();tel = textField5.getText(); code.trim();name.trim();room.trim();address.trim();tel.trim();if(code.equals()!= true & na

27、me.equals()!=true &room.equals()!=true & sex.equals()!= true)if(newupdate(code,name,sex,room,address,tel).updateStudentIfor() = true)JOptionPane.showMessageDialog(frame, 修改成功);select se = new select();resultSet = se.selectTable();listModel = new DefaultListModel();try while(resultSet.next()listModel

28、.addElement(resultSet.getString(code)+ resultSet.getString(name); catch (SQLException e1) e1.printStackTrace();list.setModel(listModel);se.isDisconnection();elseJOptionPane.showMessageDialog(frame, 修改失败 ,请核对信息,错误,JOptionPane.ERROR_MESSAGE);elseJOptionPane.showMessageDialog(frame, 填入信息不全,请核对,警告,JOpti

29、onPane.WARNING_MESSAGE);if(e.getSource() = button3)ResultSet s;select sAll;String seach = null;seach = JOptionPane.showInputDialog(frame, 请输入查找的学号:);if(seach != null)seach.trim();if(seach.equals() != true)sAll = new select();s = sAll.selectCode(seach);try for(int i = 0; i 6; i+) if(i = 2)if(s.getStr

30、ing(3).equals(男)mjRadioButton.setSelected(true);elsefjRadioButton.setSelected(true);elsetextFieldi.setText(s.getString(i+1); catch (HeadlessException e1) e1.printStackTrace(); catch (SQLException e1) JOptionPane.showMessageDialog(frame, 查找的学生记录不存在:);sAll.isDisconnection();elseJOptionPane.showMessage

31、Dialog(frame, 学号不能为空,错误,JOptionPane.ERROR_MESSAGE);if(e.getSource() = button4)JScrollBar jsscroBar;int lis;lis = list.getSelectedIndex();if(lis = -1)list.setSelectedIndex(0);jsscroBar = jscrollPane.getVerticalScrollBar();jsscroBar.setValue(0);elselist.setSelectedIndex(lis - 1);jsscroBar = jscrollPan

32、e.getVerticalScrollBar();jsscroBar.setValue(lis * 10 - 1);if(e.getSource() = button5)int lis;JScrollBar jsscroBar;lis = list.getSelectedIndex();list.setSelectedIndex(lis + 1);jsscroBar = jscrollPane.getVerticalScrollBar(); jsscroBar.setValue(lis * 10 + 1);if(e.getSource() = jbu)code = textField0.get

33、Text();if(code != null)code.trim();if(code.equals() != true)new crouseFrame(code);elseJOptionPane.showMessageDialog(frame, 学号不能为空);七、系统评价及心得体会1改进方案本次实验中,自己设计的程序功能上存在不足的地方,如查询时有限制格式,没有很好的容错性,代码健壮性不足,没有具体的应用价值。同时代码执行的效率也是还有提高的空间的,没有很好的算法加入进去。对于这些问题,需要以后更加深入学习 java 并且需要有大量的编程经验才能解决的,以后学习的东西还有能多。体会这次数据库 的课程设计,体会最深刻的就是 ,我将面向对象是思想有了更深的了解,之前javaGUI 程序设计没有学习,本次要求系统要有界面,用两周时间边自学边编写自己的程序。所以这次收获之一就是 java 的掌握有所提高并且,在熟悉语言的同时,我也学会了如何使用 java 连接 sqlserver2012 数据库,并且掌握了这次主要联系的数据库操作,实现了连接,查询入库删除等功能,虽然还有待提高,但是本次课程设计让我了解了不少,也学习了不少。我感到收获很到。这对我以后的学习或者工作都有很大的帮助。八、参考文献java 语言程序设计 北京邮电大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1