欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

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

    • 资源ID:10818239       资源大小:381.58KB        全文页数:13页
    • 资源格式: DOCX        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    一、 课程设计目的在数据库原理课程基础上,培养学生综合运用数据库知识的能力。学会数据库的设计、规划以及应用程序的开发和调试,使学生掌握客户机/服务器体系结构,学会大型数据库的工作模式。大型数据库管理系统存放于服务器,数据库放在服务器上,学生在客户机上开发应用程序访问服务器上的数据库,并完成应用系统所要求的各项功能,应用程序的开发需要采用当前流行的新软件。二、课程设计内容1数据库的设计根据学生信息管理系统,经过调查研究,构建合理的数据库。首先构建基本表以及表和表之间的联系,在此基础上构建视图和索引表。2服务器的组织根据建立的基本表、视图和索引表搭建服务器。34前端开发工具:java 学习并完成编写程序。服务器端:SQL Server2012开发应用程序利用所学的新软件开发工具进行应用程序的开发。连接、调试。5三、软硬件环境及系统所采用的体系结构系统的体系结构为 C/S 结构,具体开发工具为 Ecplise ,前台为 Java,后台数据库一般为 SQL Server2012。四、需求分析通过对学生信息管理的了解,确定本系统具备一下功能。多用户账号登录只要通过用户登录验证后,能对学生的记录信息进行修改,增加,删除等操作。五、系统设计1系统结构图学生信息管理增加删除修改浏览a.功能模块图 修改增加查看成绩下一条删除查询上一条删除选课查看学科成绩增加选课修改2数据库设计学生包含的信息:姓名电话住址宿舍 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, ALLOW_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 nvarchar(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) 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) 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 编写前端的用户界面主要的界面代码如下:public class windows implements ActionListenerprivate JFrameprivate JLabelframe;label;private JTextField textField;private JListprivate JScrollPanelist;jscrollPane;private DefaultListModel listModel; private JRadioButton mjRadioButton, fjRadioButton;private ButtonGroupprivate JButtonprivate 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, 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 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.addActionListener(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);fjRadioButton.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.getPredefinedCursor(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);jbu.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 = 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(jscrollPane);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.selectCode(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.getString("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<AbstractButton> en=setButtonGrop.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 && name.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()listModel.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.showMessageDialog(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(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) 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<AbstractButton> en=setButtonGrop.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 && name.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.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, "填入信息不全,请核对","警告",JOptionPane.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.getString(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.showMessageDialog(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 = jscrollPane.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.getText();if(code != null)code.trim();if(code.equals("") != true)new crouseFrame(code);elseJOptionPane.showMessageDialog(frame, "学号不能为空");七、系统评价及心得体会1改进方案本次实验中,自己设计的程序功能上存在不足的地方,如查询时有限制格式,没有很好的容错性,代码健壮性不足,没有具体的应用价值。同时代码执行的效率也是还有提高的空间的,没有很好的算法加入进去。对于这些问题,需要以后更加深入学习 java 并且需要有大量的编程经验才能解决的,以后学习的东西还有能多。体会这次数据库 的课程设计,体会最深刻的就是 ,我将面向对象是思想有了更深的了解,之前javaGUI 程序设计没有学习,本次要求系统要有界面,用两周时间边自学边编写自己的程序。所以这次收获之一就是 java 的掌握有所提高并且,在熟悉语言的同时,我也学会了如何使用 java 连接 sqlserver2012 数据库,并且掌握了这次主要联系的数据库操作,实现了连接,查询入库删除等功能,虽然还有待提高,但是本次课程设计让我了解了不少,也学习了不少。我感到收获很到。这对我以后的学习或者工作都有很大的帮助。八、参考文献java 语言程序设计 北京邮电大学出版社

    注意事项

    本文(设计数据库课程设计(Java实现).docx)为本站会员(啊飒飒)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




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

    三一文库
    收起
    展开