java+SQL教学管理系统_第1页
java+SQL教学管理系统_第2页
java+SQL教学管理系统_第3页
java+SQL教学管理系统_第4页
java+SQL教学管理系统_第5页
已阅读5页,还剩40页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要本报告主要介绍了运用JAVA 基础语言、面向对象程序设计、 图形用户界面编程、访问数据库等知识所设计开发出的小型学生信息管理系统。共分为课题概述、数据库设计的过程、系统设计与实现、取得结果、总结与体会、主要参考文献、附录(原程序代码、注释)六大部分。每一部分都对本次课程设计过程及成果进行了详细的介绍。例如:在课题概述中,读者可了解到课程设计的主要任务及要求;在取得结果中, 展示了所实现的界面效果;在总结与体会中,可了解到在课程设计中所需注意的事项等内容。关键字:JAVA数据库课程设计专业资料目录一、课题概述.- 3 -1.1任务 .- 3 -1.2 目的 .- 3 -1.3 要求 .- 3

2、 -二、数据库设计的过程 .- 3 -2.1需求分析 .- 3 -2.2概念结构设计 .- 4 -2.3逻辑结构设计 .- 4 -2.4物理结构设计 .- 5 -2.5数据库实施和运行维护 .- 6 -三、系统设计与实现 .- 7 -3.1系统设计 .- 7 -3.1.1 该系统实现的大致功能 .- 7 -3.1.2开发环境和软件 .- 7 -3.2设计思路 .- 8 -3.2.1系统模块图 .- 8 -3.3采取方案 .- 8 -3.3.1 登录界面 .- 8 -3.3.2注册界面 .- 9 -3.3.3管理员界面 .- 9 -3.4学生主页 .- 9 -3.5教师主页 .-10-四、取得结

3、果.-10-4.1登录界面 .-10-3.2管理员界面 .-11-3.3学生主页 .-12-3.4教师主页 .-12-3.3录入界面 .-13-3.4查询界面 .-14-3.5修改 / 删除界面 .-14-五、总结与体会 .-15-六、主要参考文献 .-16-七、附录(部分原程序代码、注释等).-16-6.1登录 .-16-6.2课程信息维护界面 .-20-专业资料一、课题概述1.1任务根据所学 JAVA 及 SQL Server数据库知识,设计出符合要求的学生信息管理系统。本系统可实现管理系统中的登录、注册及增、删、改、查等功能,以实现前台对后台数据库的管理。1.2 目的1、通过本次课程设计

4、的实践操作,巩固和加深对高级语言程序设计课程的基本知识的理解和掌握 ,掌握 java 语言编程和程序调试的基本技能;2、利用 java 语言进行基本的软件设计,提高运用java 语言解决实际问题的能力;3、充分掌握面向用户界面中各组件及布局的运用;4、进一步训练自顶向下逐步求精策略,并应用于实际问题;1.3 要求要求运用 JAVA 及 SQL 数据库等方面的知识,对学生信息管理系统的开发,在功能上实现管理系统中增、删、改、查;在界面上注意设计的美观程度。并能够通过登陆系统进入主界面,然后通过主界面管理学生信息。二、数据库设计的过程2.1 需求分析用户需求此学生成绩管理系统的用户分为管理员,教师

5、和学生,其中管理员可以实现专业资料对学生和课程基本信息的增、删、查、改等操作;而学生只能查看基本信息和成绩信息,所以合理分配用户的权限显得十分重要。以用户登录用户名和密码来核对确认用户,管理好这些用户对系统安全有十分重要的影响。功能需求 登录模块:主要分为老师,管理员和学生,对于登录后,按照各自的需求进一步进行。 基本信息管理模块:管理员实现对学生信息的增、删、查、改等操作;学生可以查看基本信息和成绩信息。2.2 概念结构设计2.3 逻辑结构设计将概念设计阶段的 E-R 图转换成关系模式,设计出“学生管理系统”的逻辑结构,并根据程序需要设计视图。1)关系设计数据库关系图:学生(学号,密码,姓名

6、,性别,年级,专业)教师(教师号,密码,姓名,性别,院系)课程(课程号,课程名,学分,课时)管理员(管理员账号,密码)学生选课(学号,课程号,成绩)专业资料将关系模式转换成为具体的 RDBMS 中支持的关系数据模型(表结构) 。本系统在 SQL Server 2008 数据库管理系统中共设计 5 个表,分别为学生表、教师表、课程表、学生选课表、管理员表,表结构如图所示。2 )视图 1:可用于管理员查询每门课的选修人数;视图 2 可用于管理员查询每门课的平均成绩。2.4 物理结构设计索引查询1)专业资料2)2.5 数据库实施和运行维护在 SQL Server2008 中创建数据库 “教学库”,创

7、建其中的 5 个表,并为表创建索引然后向表中添加数据,创建 2 个视图。再根据程序功能设计一个存储过程和一个表值函数。1)存储过程teacherQElect, 用于实现教师查询学生选课情况create PROCEDURE teacherQElect 课程号varchar (6)Asif( SELECTCOUNT (*) FROM学生 ,学生选课where学生 .学号 = 学生选课 .学号and课程号 = 课程号 ) 0SELECT 学生 .学号 ,姓名 ,年级 ,专业from学生 ,学生选课where学生 .学号 = 学生选课 .学号and课程号 = 课程号order by专业 ,年级else

8、select 0 as 选课人数return结果:2 )一个表值函数stuscore, 用于实现学生查询考试成绩。专业资料三、系统设计与实现3.1 系统设计该系统实现的大致功能1用户登录界面。该界面可以进行管理员、教师、学生登录。用户通过验证通过后方可进入管理系统。 一定程度上保证了信息安全性,防止他人未经允许篡改学生信息;注册新用户界面。该界面可创建新的用户信息,完成注册;3学生主页。 通过学生账号登录后, 进入此界面进行课程查询及个人信息修改;4管理员主页。管理员可以通过此界面进行学生信息及课程信息;5教师主页。教师可以通过此界面进行学生成绩录入及个人信息修改。开发环境和软件1)操作系统:

9、 Windows XP2)数据库软件: SQL Server 20053) Java 开发工具: Eclipse专业资料3.2 设计思路学生信息管理系统, 可用于学生的信息管理、 查询、更新与维护,使用方便,图形界面清晰明了。该系统运用 java 语言编写,用 SQLServer2005 数据库作为后台的数据库进行信息的存储,用 SQL 语句完成添加、查询、修改、删除的操作。用 JDBC 驱动实现前台 Java 与后台 SQL Server 数据库的连接。 Java 语言跨平台性强,可以在 windows , linux , ubuntu 等多种系统下使用,方便简单,安全性强。 SQLServ

10、er2008 数据库高效安全,两者结合可相互利用各自的优势。系统模块图3.3 采取方案登录界面1、先新建一个框架,在框架上添加所需标签(“欢迎使用学生信息管理系统”,“登录人员”, “用户名”, “密码”)、文本框和按钮(“登录”, “重置”,“注册”)。2、点击“登录”后,根据所选择的登录人员,对登录信息进行判断。若用户名与密码输入正确, 登录到主界面; 若输入错误, 提示“登录失败” 。点击“重置”时,文本框清空。点击“注册”时,弹出“注册新用户”界面。专业资料注册界面用户按要求输入信息,注册界面上包含有两个按钮(“注册”, “取消”),点击注册按钮,注册成功,新数据添加到数据库的“用户表

11、”中。点击“重置”后,文本框清空。管理员界面此界面中添加有菜单 (包含学生信息录入、 修改或删除、 查询及退出等菜单项)、工具条(添加有包含学生信息录入、修改或删除、查询及退出等按钮)和四个面板。1、打开主界面,显示第一个面板“欢迎进入学生信息管理系统”。2、通过点击学生信息录入菜单项或按钮,显示第二个面板。面板上添加有“添加”,“重置”,“返回”三个按钮。点击添加按钮,可将信息添加到数据库的“ student ”表中;点击“重置”按钮,将文本框中的信息清空;点击“返回”,返回到第一面板。3、点击学生信息查询菜单项或按钮,显示第三个面板。面板上添加有文本框及下拉列表中。输入查询条件,选择查询项

12、目,所需信息便显示在列表中。4、点击学生信息修改 / 删除菜单项或按钮,显示第四个面板。面板上添加有查询、修改、删除三个按钮。点击查询,文本框中显示满足学号条件的学生信息;点击修改,信息修改成功;点击删除,表中信息被删除。5、点击退出按钮,退出主界面。3.4 学生主页此界面中添加有菜单 (包含课程信息查询、 个人资料修改及退出等菜单项) 、工具条(添加有包含课程信息查询、个人资料修改及退出等按钮)。专业资料3.5 教师主页此界面中添加有菜单 (包含学生成绩录入、 个人信息修改及退出等菜单项) 、工具条(添加有包含学生成绩录入、个人信息修改及退出等按钮)。四、取得结果4.1 登录界面设计并开发出

13、了满足实验要求的“学生信息管理系统” ,用户可以通过登录界面进入系统对数据进行管理, 进一步对数据进行录入、 修改和查询。 登录界面如下图所示:若用户不存在,则需要进入注册界面进行用户注册。注册界面如下图所示:专业资料3.2 管理员界面课程信息维护:学生信息维护:专业资料3.3 学生主页3.4 教师主页专业资料如上述界面所示, 用户可通过工具栏的按钮进行信息管理。另外,也可通过菜单栏进入,如下:3.3 录入界面在信息录入时,用户需根据要求,各项数据不可为空,若为空,系统将提醒用户。在各项数据输入完毕后,点击“添加”,便可将新数据录入到已链接好的数据库中。若已输入数据有误,用户可点击“重置”按钮

14、,对数据进行清除。点击“返回”按钮,可使系统回到主界面。录入界面如下图所示:专业资料3.4 查询界面在进行信息查询时,用户可以通过学号、姓名和所在系,并根据所需查询条件将所需信息显示出来,或直接点击学号,可显示全部信息,界面简洁明了。查询界面如下图所示:3.5 修改 / 删除界面在信息修改、删除功能中,界面效果是录入界面与查询界面的结合,但在这一功能中,不可对学号进行编辑。信息修改完毕后,点击“确定”,就实现了对原始信息的修改。修改 / 删除界面如下图所示:专业资料五、总结与体会课程设计是培养学生综合运用所学知识, 发现、提出、分析和解决实际问题,锻炼实践能力的重要环节, 是对学生实际工作能力

15、的具体训练和考察过程。 通过两个星期的课程设计,运用 JAVA 和 SQL 数据库的相关知识,设计并开发出了“学生信息管理系统”。并实现了登录、注册、增加、修改、删除、查询信息等功能,完成了实验任务。另外,在设计过程中,由于对知识的掌握程度不够,遇到了一些问题,1、包的引入。在设计初期设置颜色时,未引入颜色包,造成对“Color ”无法识别的问题;2、在实现事件功能时,需要加连接数据库的语句con=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName=test,sa,123456);),以获取数据库中的数

16、据;在向主界面添加组件时,不可以将同一组件添加到多个面板中,否则会造成界面空白,组件无法显示;在注册用户时,系统提醒“ INSERT 语句与 FOREIGN KEY 约束 FK_用户 _ student冲突。该冲突发生于数据库 test,表student ,Column 学号”。此问题错在,用户中的用户名与 student 存在外键关系,插入的对应字段值需要在 student 中存在。所以,需要先将信息添加到 student 表中,再添加到用户表中;5.在运行代码后, 出现了组件不显示的问题。 在添加完组件后写入 “ validate();”,便可解决此问题;在设置背景颜色时,发现面板不可以设

17、置背景颜色,需要先在面板上添加一个设置好的标签,再向标签上添加组件。经过两个星期的课程设计, 总体感觉自己在面向对象程序设计方面有了一定的提高。也让我深刻的认识到一些事情:专业资料1.编写程序时需目的明确,思路清晰。2.代码书写要规范 ,养成正确书写的良好习惯,以避免更多错误的发生。3.编程时要充分利用学过的知识,熟练掌握,融汇贯通,将理论与实践相结合。另外,感谢老师能给出这次课程设计, 让我们意识到, 对于知识要一步一个脚印,多加练习。六、主要参考文献1 耿祥义 JSP基础编程 M 清华大学出版社,2004.55-162萨师煊,王珊 . 数据库系统概论 (第三版 )M. 北京:高等教育出版社

18、, 1998.刘慧琳 .Java 程序设计教程(第二版) M. 人民邮电出版社, 2013.七、附录(部分原程序代码、注释等)6.1 登录专业资料public class 登录implements ActionListener,ItemListenerprivate JFrame frame;private JLabel l1,l2,l3,l4,l5;private TextField t1;private TextField t2;private JButton button1,button2,button3;Connection con;Statement sql;ResultSet rs

19、;Choicec=new Choice();public登录 ()frame = new JFrame();frame.setResizable(false);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setBounds(200,100,672,420);frame.setLayout(null);l1 = new JLabel();ImageIcon icon = new ImageIcon(die.jpg);l1.setIcon(icon);frame.add(l1);l1.setBounds(0,0,672, 4

20、20);l1.setLayout(null);Font font1 = new Font(楷体 _GB2312,1,30) ;Font font2 = new Font(幼圆 ,0,18) ;l5=new JLabel(登录人员 );l5.setFont(font2) ;l5.setForeground(Color.WHITE);c.add( 管理员 );/ 添加下拉表c.add( 教师 );c.add( 学生 );c.addItemListener(this);l1.add(l5);l5.setBounds(155, 100, 200, 50);l1.add(c);c.setBounds(2

21、50, 120, 200, 50);l2=new JLabel(欢迎使用学生信息管理系统);l2.setFont(font1) ;l2.setForeground(Color.MAGENTA);l1.add(l2);l2.setBounds(125, 50, 400, 50);l3=new JLabel(用户名 );l3.setFont(font2) ;l3.setForeground(Color.WHITE);l1.add(l3);专业资料l3.setBounds(155, 151, 100, 50);l4=new JLabel(密码 );l4.setFont(font2) ;l4.setF

22、oreground(Color.WHITE);l1.add(l4);l4.setBounds(155, 209, 100, 50);t1 = new TextField();t2 = new TextField();t2.setEchoChar(*);l1.add(t1);l1.add(t2);t1.setBounds(250, 170, 200, 23);t2.setBounds(250, 220, 200, 23);button1 = new JButton(登录 ,new ImageIcon(星星 .jpg);button1.addActionListener(this);l1.add(

23、button1);button1.setBounds(125, 270,100,30);button2 = new JButton( 重置 ,new ImageIcon( 星星 .jpg); button2.addActionListener(this);l1.add(button2);button2.setBounds(260, 270,100,30);button3 = new JButton( 注册 ,new ImageIcon( 星星 .jpg); button3.addActionListener(this);l1.add(button3);button3.setBounds(395

24、, 270,100,30);frame.setVisible(true);public void actionPerformed(ActionEvent e) TODO Auto-generated method stub if(e.getSource()=button1)if (t1.getText().toString().equals() JOptionPane.showMessageDialog(null, 请输入登录名 , 温馨提示 , JOptionPane.INFORMATION_MESSAGE);return;else if (t2.getText().toString().e

25、quals() JOptionPane.showMessageDialog(null, 请输入密码 , 温馨提示 , JOptionPane.INFORMATION_MESSAGE);return;try try con=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433; DatabaseName= 教学库 ,sa,123456);Statement stmt=con.createStatement();sql=con.createStatement();专业资料String n1=c.getSelectedItem();/

26、下拉列表String queryMima;if(n1.equals( 管理员 )queryMima=select*from管理员where管理员账号=+t1.getText().trim()+ and密码=+t2.getText().trim()+;ResultSet rs=sql.executeQuery(queryMima);if(rs.next()JOptionPane.showMessageDialog(null,登录成功!,温馨提示 ,JOptionPane.INFORMATION_MESSAGE);new管理员界面 ();con.close();frame.hide();elseJ

27、OptionPane.showMessageDialog(null,登录失败!,温馨提示,JOptionPane.INFORMATION_MESSAGE); t1.setText();t2.setText(); if(n1.equals( 教师 )queryMima=select*from教 师where教 师 号=+t1.getText().trim()+ and密码=+t2.getText().trim()+;ResultSet rs=sql.executeQuery(queryMima);if(rs.next()JOptionPane.showMessageDialog(null,登录成

28、功!,温馨提示 ,JOptionPane.INFORMATION_MESSAGE);new教师主页 ();con.close();frame.hide();else JOptionPane.showMessageDialog(null,登录失败!,温馨提示,JOptionPane.INFORMATION_MESSAGE);t1.setText();t2.setText();else if(n1.equals( 学生 )queryMima=select*from学生where学号=+t1.getText().trim()+ and密码=+t2.getText().trim()+;ResultSe

29、t rs=sql.executeQuery(queryMima);if(rs.next()JOptionPane.showMessageDialog(null,登录成功!,温馨专业资料提示 ,JOptionPane.INFORMATION_MESSAGE);new学生主页 ();con.close();frame.hide();elseJOptionPane.showMessageDialog(null,登录失败!,温馨提示,JOptionPane.INFORMATION_MESSAGE); t1.setText();t2.setText();sql.close();catch (SQLExc

30、eption se) se.printStackTrace();if(e.getSource()=button3)new用户注册 (); else if(e.getSource()=button2) t1.setText(); t2.setText();public static void main(String args)new登录 ();public void itemStateChanged(ItemEvent arg0) 6.2 课程信息维护界面专业资料class 课程信息维护extends JFrameimplements ActionListener,ItemListenerFra

31、me f;JLabel l1,l2,l3,l4,l5,l6,lb1,lb2,lb3,lb4,lb5,lb8,lb9,lb10,lb11,lb12,lb13,lb16;Panel p,p1,p2,p3,p4,p5,p6,p7;/p5 为查询界面最下方的面板MenuBar mb1=new MenuBar();Menu me1 =new Menu(文件 );JButton b1,b2,b3,b4,b5,b6,b7,bu1,bu2,bu3;JToolBar toolBar=new JToolBar();CardLayout myCard = new CardLayout();JTable table1

32、;Object a,b;Object name=课程号 ,课程名 ,学分 ,课时 ,教师号 ;Statement sql;ResultSet rs;Choicec=new Choice();TextField tx1=new TextField();专业资料TextField tx2=new TextField();TextField tx3=new TextField();TextField tx4=new TextField();TextField tx5=new TextField();TextField tx6=new TextField();TextField tx7=new Tex

33、tField();TextField tx8=new TextField(20);TextField tx9=new TextField();TextField tx10=new TextField();TextField tx11=new TextField();TextField tx12=new TextField();TextField tx13=new TextField();TextField tx14=new TextField();TextField tx15=new TextField();TextField tx16=new TextField(20);public 课程信

34、息维护 ()f=new Frame( 学生信息管理系统 );f.setSize(600,550);f.setLocation(400,100);f.setBackground(Color.white);专业资料f.setVisible(true);f.setMenuBar(mb1);f.validate();l1=new JLabel( 欢迎进入学生信息管理系统);l2=new JLabel();ImageIcon icon = new ImageIcon(lv.jpg);l2.setIcon(icon);l3=new JLabel();ImageIcon icon1 = new ImageI

35、con(hu.jpg);l3.setIcon(icon1);l4=new JLabel();ImageIcon icon2 = new ImageIcon(q.jpg);l4.setIcon(icon2);l5=new JLabel();ImageIcon icon3 = new ImageIcon(a.jpg);l5.setIcon(icon3);l6=new JLabel();ImageIcon icon4 = new ImageIcon(s.jpg);l6.setIcon(icon4);专业资料bu1=new JButton( 添加 );bu2=new JButton(重置 );bu3=

36、new JButton(返回 );lb1=new JLabel( 课程号 );lb2=new JLabel( 课程名);lb3=new JLabel( 学分);lb4=new JLabel( 课时);lb5=new JLabel( 教师号);lb8=new JLabel( 查询条件 );lb9=new JLabel( 课程号);lb10=new JLabel( 课程名);lb11=new JLabel( 学分 );lb12=new JLabel( 课时 );lb13=new JLabel( 教师号);lb16=new JLabel( 查询条件 );菜单设置mb1.add(me1);me1.ad

37、d(new MenuItem( 课程信息录入 );me1.add(new MenuItem( 课程信息查询 );专业资料me1.add(new MenuItem( 课程信息修改 / 删除 );me1.addSeparator();me1.add(new MenuItem( 退出 );me1.addActionListener(this);按钮设置b1=new JButton( 课程信息录入 );b2=new JButton(课程信息查询 );b3=new JButton(课程信息修改 /删除 );b4=new JButton(退出 );b6=new JButton(查询 );b6.addAct

38、ionListener(this);b5=new JButton(修改 );b5.addActionListener(this);b7=new JButton(删除 );b7.addActionListener(this);b1.addActionListener(this);b2.addActionListener(this);专业资料b3.addActionListener(this);b4.addActionListener(this);工具条toolBar.add(b1);toolBar.add(b2);toolBar.add(b3);toolBar.add(b4);面板设置p=new

39、 Panel(myCard );p1=new Panel();p1.setLayout(null);p2=new Panel();p2.setLayout(null);p3=new Panel(new BorderLayout();p4=new Panel(new BorderLayout();p5=new Panel();p5.setLayout(null);f.add(toolBar,North);/ 给框架添加工具条专业资料f.add(p,Center);/ 给框架添加总的面板p.add(p1,p1);/ 给卡片布局的面板添加不同的面板p.add(p2,p2);p.add(p3,p3);

40、p.add(p5,p5);l1.setForeground(Color.white);/设置 Label 的字体l1.setFont(new Font( 幼圆 ,Font.BOLD,30);p1.add(l6);l6.setBounds(0,0 , 600, 600);l6.add(l1);l1.setBounds(100,50,400,50);f.validate();录入界面的布局设置tx1.setEditable(true) ;tx2.setEditable(true) ;tx3.setEditable(true) ;tx4.setEditable(true) ;tx5.setEdita

41、ble(true) ;专业资料bu1.addActionListener(this);bu2.addActionListener(this);bu3.addActionListener(this);p2.add(lb1);lb1.setBounds(160, 50, 100, 30);p2.add(lb2);lb2.setBounds(160, 100, 100, 30);p2.add(lb3);lb3.setBounds(160, 150, 100, 30);p2.add(lb4);lb4.setBounds(160, 200, 100, 30);p2.add(lb5);lb5.setBou

42、nds(160, 250, 100, 30);p2.add(l2);l2.setBounds(400, 50, 200, 500);p2.add(l3);l3.setBounds(0, 0, 155, 155);p2.add(tx1);专业资料tx1.setBounds(250, 50, 150, 30);p2.add(tx2);tx2.setBounds(250, 100, 150, 30);p2.add(tx3);tx3.setBounds(250, 150, 150, 30);p2.add(tx4);tx4.setBounds(250, 200, 150, 30);p2.add(tx5)

43、;tx5.setBounds(250, 250, 150, 30);p2.add(bu1);bu1.setBounds(130,330,70,20);p2.add(bu2);bu2.setBounds(230,330,70,20);p2.add(bu3);bu3.setBounds(330,330,70,20);设置修改界面tx9.setEditable(true) ;专业资料tx10.setEditable(true) ;tx11.setEditable(true) ;tx12.setEditable(true) ;tx13.setEditable(true) ;b5.addActionLi

44、stener(this);b6.addActionListener(this);b7.addActionListener(this);p5.add(lb9);lb9.setBounds(160, 50, 100, 30);p5.add(lb10);lb10.setBounds(160, 100, 100, 30);p5.add(lb11);lb11.setBounds(160, 150, 100, 30);p5.add(lb12);lb12.setBounds(160, 200, 100, 30);p5.add(lb13);lb13.setBounds(160, 250, 100, 30);p

45、5.add(l4);l4.setBounds(400, 50, 200, 500);专业资料p5.add(l5);l5.setBounds(0, 0, 100, 100);p5.add(tx9);tx9.setBounds(250, 50, 150, 30);p5.add(tx10);tx10.setBounds(250, 100, 150, 30);p5.add(tx11);tx11.setBounds(250, 150, 150, 30);p5.add(tx12);tx12.setBounds(250, 200, 150, 30);p5.add(tx13);tx13.setBounds(2

46、50, 250, 150, 30);p5.add(b6);b6.setBounds(130,330,70,20);p5.add(b5);b5.setBounds(230,330,70,20);p5.add(b7);b7.setBounds(330,330,70,20);设置查询界面专业资料p4=new Panel(new FlowLayout();p4.setBackground(Color.cyan);tx8.setEditable(true) ;c.add(课程号 );/ 添加下拉表c.add(课程名 );c.add(学分 );c.add(课时 );c.add(教师号 );c.addIte

47、mListener(this);p4.add(lb8);p4.add(tx8);p4.add(c);b=new Object507;table1=new JTable(b,name);p3.add(Center,newJScrollPane(table1,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);p3.add(p4,South);专业资料validate();给窗口添加事件f.addWindowListener(new WindowAdapter()public void win

48、dowClosing(WindowEvent e)System.exit(0););/ 下拉表事件查询信息public void itemStateChanged(ItemEvent e)String m=tx8.getText();/ 查询条件String n1=c.getSelectedItem();/ 下拉列表String chaxun=;if(n1.equals( 课程号 )chaxun=select * from课程 where 课程号like+%+m+%;if (n1.equals(课程名 )chaxun=select * from课程 where 课程名like+ +%+m+%+

49、 ;if(n1.equals(学分 )chaxun=select * from课程 where 学分 like+%+m+%;专业资料if(n1.equals(课时 )chaxun=select * from课程where 课时 like+%+m+%;if(n1.equals(教师号 )chaxun=select * from课程where 教师号like+%+m+%;int j=0;trycatch(ClassNotFoundException a)trytable1.repaint();con=DriverManager.getConnection(jdbc:sqlserver:/local

50、host:1433;DatabaseName= 教学库 ,sa,123456);sql=con.createStatement();rs=sql.executeQuery(chaxun);while(rs.next()专业资料bj0=rs.getString(课程号 );bj1=rs.getString( 课程名 );bj2=rs.getString(学分 );bj3=rs.getString(课时 );bj4=rs.getString(教师号 );j+;con.close();catch(SQLException ex)按钮事件public void actionPerformed(Acti

51、onEvent e)EventObject n;AbstractButton bj;if (e.getActionCommand()=课程信息录入 |e.getSource()=b1)myCard .show(p,p2);专业资料else if (e.getActionCommand()=课程信息查询 |e.getSource()=b2)myCard .show(p,p3);elseif(e.getActionCommand()=课程 信息修 改/删除|e.getSource()=b3)myCard .show(p,p5);else if (e.getSource()=b4)System.ex

52、it(0);else if (e.getActionCommand()=退出 ) myCard .show(p,p1);学生信息删除else if(e.getSource()=b7) try专业资料catch(ClassNotFoundException se)trycon=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName= 教学库 ,sa,123456);Statement stmt=con.createStatement();inti=stmt.executeUpdate(deletefrom课程

53、where课 程号=+tx9.getText()+);if(i=1)JOptionPane.showMessageDialog(null, 记录已删除, 提示 ,JOptionPane.INFORMATION_MESSAGE);elseJOptionPane.showMessageDialog(null, 没有该课程号 , 提示 ,JOptionPane.INFORMATION_MESSAGE);tx9.setText();tx9.requestFocus();专业资料stmt.close();catch(SQLException se)JOptionPane.showMessageDialo

54、g(null,se.getMessage();学生信息修改if(e.getSource()=b6)trycatch(ClassNotFoundException se)trycon=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName= 教学库 ,sa,123456);Statement stmt=con.createStatement();sql=con.createStatement();专业资料rs=sql.executeQuery(select*from课 程where课 程 号=+tx9.get

55、Text()+);if(rs.next()tx9.setText(rs.getString( 课程号 );tx10.setText(rs.getString( 课程名 );tx11.setText(rs.getString(学分 );tx12.setText(rs.getString( 课时 );tx13.setText(rs.getString( 教师号 );tx9.setEnabled(true);tx10.setEditable(true);tx11.setEditable(true);tx12.setEditable(true);tx13.setEditable(true);elseJ

56、OptionPane.showMessageDialog(null,该记录不存在!,温馨提示,JOptionPane.INFORMATION_MESSAGE);b5.setEnabled(false);tx9.setText();tx10.setText();专业资料tx11.setText();tx12.setText();tx13.setText();tx9.requestFocus();tx10.setEditable(false);tx11.setEditable(false);tx12.setEditable(false);tx13.setEditable(false);catch(

57、SQLException e2) else if(e.getSource()=b5) trycon=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName= 教学库 ,sa,123456);sql=con.createStatement();int eu =sql.executeUpdate(Update课程 set 课程名 =+tx10.getText()+,学分 =+tx11.getText()+, 课时 =+tx12.getText()+, 教师名 =+tx13.getText()+where 课程号 =+tx9.getText()+);if(eu=1)JOptionPane.showMessageDialog(null,修改成功!,温馨提示,JOptionPane.INFORMATION_MESSAGE);专业资料elseJOptionPane.showMessageDialog(null,修改失败!,温馨提示,JOptionPane.IN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论