《Java学生信息管理完整 .docx》由会员分享,可在线阅读,更多相关《Java学生信息管理完整 .docx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品名师归纳总结1、 试验题目同学治理系统2、 试验目的把握实际开发的步骤。能够娴熟开发和同学治理系统相类似的系统。把握 Java中的界面开发。把握 Java中如何连接数据库。3、 试验设备及仪器运算机一台,配置有JDK 环境4、 试验内容编写同学治理系统程序,利用图形界面构造系统的客户端服务界面,连接数据库, 使得同学老师能简洁便利的对数据进行储备修改5、 试验步骤(1) 第一确定同学治理系统的用户。(2) 同学治理系统的用户基本分为两类,分别是老师和同学。不管是哪种用户都是必需经过登录才能进入同学治理系统的,所以该系统必需有一个登录界面,并且在该界面中能够让用户选择用户是老师仍是同学。该系
2、统是不会对外开放 的,所以也不存在注册界面。(3) 由于用户分为两种,所以每一种用户进行操作的界面应当是不同的。第一是同学界面,在其中应当只有查询成果和个人信息查询和插入。主要来学习如何进行同学界面开发。(4) 除了同学界面外,仍要有一个老师界面。老师在老师界面中可以对同学信息进行治理,包括查询、修改和删除。同样也可以对同学的成果进行治理,包括查询和插入,由于输入错误仍要能够对同学的成果进行修改,由于同学作弊仍能够将同学的成果进行删除。(5) 第一数据库中应当有老师和同学这两个表,表中应当最少有用户名和密码两 项,使用表中的这两项就可以进行登录。在同学表中仍应当具有一些和学籍相关的信息,包括年
3、龄、班级等内容,这样就可以在系统中对同学信息进行操 作。(6) 除此之外仍需要一个成果表,通过该表老师可以对同学的成果进行查询、插入、修改和删除。同学也可以通过该表对自己的成果进行查询。(7) 不管是老师和同学进入同学治理系统都是从登录界面进入的。在登录界面中应当是让用户选择自己身份的,然后系统将依据用户的选择来判定用户的身份并进行查询不同的数据库。(8) 对界面设计好基本形式后,就可以进行程序开发。第一要定义两个标签和两个文本框,分别来表示用户名和密码。并且仍需要定义一个下拉列表让用户来进行身份选择,其中选项包括“同学”和“老师”。在程序的最终仍定义了两个按钮,从而让用户输入用户名和密码后进
4、行登录。(9) 在同学界面中,同学可以对自己的信息进行查询,在第一次登录时仍可以对自己的信息进行插入,并且同学能够查询自己的成果。(10) 由于同学要完成对信息和成果的操作,所以这里的设计是在界面中定义两个菜单,分别进行信息和成果的操作。由于对信息的操作包括插入和查询,所以仍需要在信息菜单下定义“插入”和“查询”两个子菜单。(11) 对界面进行设计后,就可以进行程序开发。同样第一是创建一个窗口,在窗口可编辑资料 - - - 欢迎下载精品名师归纳总结中要创建两个菜单,并且在信息菜单下仍要创建“插入”和“查询”两个子菜单。(12) 在同学界面中单击“信息”菜单下的“插入”子菜单,就会进入同学插入界
5、面,在该界面中同学可以输入自己的信息。(13) 同学第一次插入信息后,老师是可以对同学的信息进行修改和删除的。除此之外,同学仍可以查询自己被修改后的信息,在信息菜单下有一个查询子菜单, 单击该菜单就触发大事,从而进入查询同学信息界面。(14) 在同学界面中仍有一个“成果”菜单,在同学的界面该菜单下只有一个“查询”子菜单。单击“查询”子菜单,将触发大事,进入到查询成果界面。6、 附录(1) 登陆界面import java.awt.*。 import javax.swing.*。 import java.awt.event.*。import java.sql.*。public class syst
6、ems extends JFrame implements ActionListenerstatic systems ss。JPanel panel = new JPanel。JLabel label1 = new JLabel输入姓名: 。JTextField name = new JTextField。 JLabel label2 = new JLabel密码: 。JPasswordField pwd = new JPasswordField。JButton Enter = new JButton登录 。JButton Exit = new JButton退出 。String url =
7、D:Systemstitle.jpg。ButtonGroup bgp = new ButtonGroup。JRadioButton stu = new JRadioButton同学 。JRadioButton tch = new JRadioButton老师 。public systemssuper 登录系统 。this.setResizablefalse。JLabel img = new JLabelnew ImageIconurl。img.setBounds0,0,500,100。panel.addimg。 stu.setBounds165,210,70,20。tch.setBounds2
8、65,210,70,20。bgp.addstu。bgp.addtch。panel.addstu。panel.addtch。Enter.setBounds150,250,80,20。Exit.setBounds270,250,80,20。可编辑资料 - - - 欢迎下载精品名师归纳总结Enter.addActionListenerthis。Exit.addActionListenerthis。panel.addEnter。panel.addExit。panel.setLayoutnull。this.addpanel。label1.setBounds135,130,100,25。panel.add
9、label1。name.setBounds265,130,100,25。panel.addname。label2.setBounds135,165,100,25。panel.addlabel2。pwd.setBounds265,165,100,25。panel.addpwd。this.setBounds100,100,500,350。this.setVisibletrue。this.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE。public void actionPerformedActionEvent eife.getSource=EnterStr
10、ing username , password。username = name.getText。password = pwd.getText。tryClass.forNamesun.jdbc.odbc.JdbcOdbcDriver。catch ClassNotFoundException ceJOptionPane.showMessageDialogss,ce.getMessage。ifstu.isSelectedtryConnectioncon=DriverManager.getConnectionjdbc:odbc:sysdb,sa,。Statement stmt = con.create
11、Statement。ResultSetrs=stmt.executeQueryselect*from STU。可编辑资料 - - - 欢迎下载精品名师归纳总结whilers.nextifrs.getStringID.equalsusername&rs.getStringPwd.equals passwordJOptionPane.showMessageDialogss,登陆成功 。Studentsstu=new可编辑资料 - - - 欢迎下载精品名师归纳总结Students。else可编辑资料 - - - 欢迎下载精品名师归纳总结JOptionPane.showMessageDialogss,
12、登录失败 。rs.close。stmt.close。catch SQLException seJOptionPane.showMessageDialogss,se.getMessage。else iftch.isSelectedtryConnectioncon=DriverManager.getConnectionjdbc:odbc:systchdb,sa,。Statementstmt=可编辑资料 - - - 欢迎下载精品名师归纳总结con.createStatement。* from TCH。ResultSet rs = stmt.executeQueryselect whilers.nex
13、t可编辑资料 - - - 欢迎下载精品名师归纳总结ifrs.getStringID.equalsusername&rs.getStringPwd.equals passwordJOptionPane.showMessageDialogss,登陆成功 。可编辑资料 - - - 欢迎下载精品名师归纳总结elseJOptionPane.showMessageDialogss,登录失败 。catch SQLException seJOptionPane.showMessageDialogss,se.getMessage。可编辑资料 - - - 欢迎下载精品名师归纳总结elseSystem.exit0。
14、可编辑资料 - - - 欢迎下载精品名师归纳总结public static void mainString argssystems sys = new systems。(2) 同学界面import java.awt.*。 import javax.swing.*。import java.awt.event.*。public class Students extends JFrame implements ActionListenerJMenuBar jmb = new JMenuBar。JMenu Message = new JMenu信息 。JMenu Score = new JMenu成果
15、。JMenuItem Item1 = new JMenuItem插入 。JMenuItem Item2 = new JMenuItem 查询 。JMenuItem Item3 = new JMenuItem 查询 。public Studentssuper 同学界面 。this.setSize500,400。this.setVisibletrue。this.setResizablefalse。this.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE。可编辑资料 - - - 欢迎下载精品名师归纳总结this.setJMenuBarjmb。jmb.addM
16、essage。jmb.addScore。Message.addItem1。Message.addItem2。Score.addItem3。Item1.addActionListenerthis。Item2.addActionListenerthis。Item3.addActionListenerthis。public void actionPerformedActionEvent eife.getSource=Item1AddMsg ad = new AddMsg。else ife.getSource=Item2可编辑资料 - - - 欢迎下载精品名师归纳总结elseSerch ser = n
17、ew Serch。Score so = new Score。可编辑资料 - - - 欢迎下载精品名师归纳总结public static void mainString argsStudents stu = new Students。(3) 添加同学信息import java.awt.*。 import javax.swing.*。 import java.awt.event.*。import java.sql.*。public class AddMsg extends JFrame implements ActionListenerstatic AddMsg s。/* 添加 同学信息控件 */
18、 JPanel jpl = new JPanel。JLabel label1 = new JLabel添加基本信息 ,JLabel.CENTER。JLabel label2 = new JLabel学号 : ,JLabel.CENTER。 JLabel label3 = new JLabel姓名: ,JLabel.CENTER。 JLabel label4 = new JLabel性别: ,JLabel.CENTER。可编辑资料 - - - 欢迎下载精品名师归纳总结JLabel label5 = new JLabel班级: ,JLabel.CENTER。JLabel label6 = new
19、JLabel学院: ,JLabel.CENTER。JTextField num = new JTextField2。 JTextField nam = new JTextField4。ButtonGroup bgp = new ButtonGroup。JRadioButton man = new JRadioButton男 。JRadioButton women = new JRadioButton女 。JTextField clas = new JTextField。JTextField scl = new JTextField。 JButton reset = new JButton重置
20、。JButton addmsg = new JButton添加 。public AddMsgsuper 添加 同学信息 。this.setResizablefalse。this.setSize500,400。this.setVisibletrue。this.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE。this.addjpl。jpl.setLayoutnull。addmsg.addActionListenerthis。reset.addActionListenerthis。/* 插入面板 */label1.setBounds100,20,300,20
21、。jpl.addlabel1。label2.setBounds100,50,70,20。jpl.addlabel2。num.setBounds190,50,140,20。jpl.addnum。label3.setBounds100,90,70,20。jpl.addlabel3。nam.setBounds190,90,140,20。jpl.addnam。label4.setBounds100,130,70,20。jpl.addlabel4。man.setBounds190,130,60,20。women.setBounds270,130,60,20。jpl.addman。jpl.addwomen
22、。bgp.addman。bgp.addwomen。label5.setBounds100,170,70,20。jpl.addlabel5。clas.setBounds190,170,140,20。可编辑资料 - - - 欢迎下载精品名师归纳总结jpl.addclas。label6.setBounds100,210,70,20。jpl.addlabel6。scl.setBounds190,210,140,20。jpl.addscl。reset.setBounds120,250,90,20。addmsg.setBounds240,250,90,20。jpl.addreset。jpl.addaddm
23、sg。public void actionPerformedActionEvent eife.getSource=addmsgString sex 。ifman.isSelectedsex=男。elsesex=女。tryClass.forNamesun.jdbc.odbc.JdbcOdbcDriver。catch ClassNotFoundException ceJOptionPane.showMessageDialogs,ce.getMessage。tryConnectioncon= DriverManager.getConnectionjdbc:odbc:sysdb,sa,。Stateme
24、nt stmt = con.createStatement。int a = stmt.executeUpdateinsert into STUID ,Pwd,Name,Sex,Class, Collagevalues+num.getText+,+12345678,+nam.getText+,+sex+,+clas.getText+,+scl.getText+。ifa=1可编辑资料 - - - 欢迎下载精品名师归纳总结成功添加 。加失 败 。elseJOptionPane.showMessageDialogs,已JOptionPane.showMessageDialogs,添可编辑资料 - -
25、- 欢迎下载精品名师归纳总结stmt.close。catch SQLException seJOptionPane.showMessageDialogs,se.getMessage。可编辑资料 - - - 欢迎下载精品名师归纳总结elsenum.setText。nam.setText。clas.setText。scl.setText。num.requestFocus。可编辑资料 - - - 欢迎下载精品名师归纳总结public static void mainString argsAddMsg amg = new AddMsg。(4) 添加同学成果import java.awt.*。 impo
26、rt javax.swing.*。 import java.awt.event.*。import java.sql.*。public class Addscore extends JFrame implements ActionListenerstatic Addscore ss 。JLabel label = new JLabel学号 : , new JLabel 运算机 网络: , new JLabelLinux 操作系 统: , new JLabel 运算机 专业 英语: , new JLabel 运算机信息技 术基础: , new JLabelJava 程序 设计 : , new JL
27、abel 数 据 库 应 用 实 训 教 程 : , new JLabel 高 等 数 学 : , new JLabelXML : 。JTextField txt = new JTextField , new JTextField , new可编辑资料 - - - 欢迎下载精品名师归纳总结JTextField , new JTextField , new JTextField ,new JTextField , new JTextField ,new JTextField ,new JTextField 。JButton add = new JButton添加 。JButton reset =
28、 new JButton重置 。JPanel jpl = new JPanel。JLabel title = new JLabel添加同学成 绩 , JLabel.CENTER。Font f = new Font黑体 , Font.BOLD , 16 。int s = 100。public Addscoresuper 添加 同学信息 。this.setResizablefalse。this.setSize500,600。this.setDefaultCloseOperationEXIT_ON_CLOSE。this.setVisibletrue。this.addjpl。add.addAction
29、Listenerthis。reset.addActionListenerthis。jpl.setLayoutnull。title.setBounds150,40,200,20。title.setFontf。title.setForegroundColor.red。jpl.setBackgroundColor.LIGHT_GRAY。jpl.addtitle。forint i = 0。 i label.length。 i+labeli.setBounds100,s,140,20。jpl.addlabeli。txti.setBounds260,s,140,20。jpl.addtxti。s=s+40
30、。add.setBounds150,s,80,20。reset.setBounds250,s,80,20。jpl.addadd。jpl.addreset。public void actionPerformedActionEvent eife.getSource=addtry可编辑资料 - - - 欢迎下载精品名师归纳总结Class.forNamesun.jdbc.odbc.JdbcOdbcDriver。catch ClassNotFoundException ceJOptionPane.showMessageDialogss,ce.getMessage。tryConnectioncon= Dr
31、iverManager.getConnectionjdbc:odbc:sysdb,sa,。Statement stmt = con.createStatement。int a = stmt.executeUpdateinsert into运算机系成果SID ,运算机网络 , Linux操作系 统 , 运算机 专业英语 ,运算机信息技 术基 础,Java程 序 设 计,数 据 库 应 用 实 训 教 程,高 等 数 学, Xmlvalues+txt0.getText+,+txt1.getText+,+txt2.getText+,+txt3.getText+,+txt4.getText+,+txt
32、5.getText+,+txt6.getText+,+txt7.getText+,+txt8.getText+。ifa=1可编辑资料 - - - 欢迎下载精品名师归纳总结加成功 。加失 败 。elseJOptionPane.showMessageDialogss,添JOptionPane.showMessageDialogss,添可编辑资料 - - - 欢迎下载精品名师归纳总结catch SQLException seJOptionPane.showMessageDialogss,se.getMessage。elseforint i = 0。 itxt.length。 i+txti.setTe
33、xt。txt0.requestFocus。可编辑资料 - - - 欢迎下载精品名师归纳总结public static void mainString argsAddscore as = new Addscore。(5) 查询同学信息import java.awt.*。 import javax.swing.*。 import java.awt.event.*。import java.sql.*。public class Serch extends JFrame implements ActionListener/* 查询学 生信息控件 */ static Serch s。JPanel jpl
34、= new JPanel。JLabel SCH = new JLabel查询学 生信息 ,JLabel.CENTER。JLabel label1 = new JLabel请输 入学号 :,JLabel.CENTER。JButton serch = new JButton查询 。JLabel label2 = new JLabel 姓名: ,JLabel.CENTER 。JLabel label3 = new JLabel 班级: ,JLabel.CENTER 。JLabel label4 = new JLabel 学校: ,JLabel.CENTER 。JLabel label5 = new
35、JLabel 性别: ,JLabel.CENTER 。ButtonGroup bgp = new ButtonGroup。JRadioButton man = new JRadioButton男 。JRadioButton women = new JRadioButton女 。JTextField num = new JTextField。JTextField nam = new JTextField。JTextField clas = new JTextField。JTextField scl = new JTextField。JButton reset = new JButton重置 。p
36、ublic Serchthis.setSize500,400。this.setVisibletrue。this.setResizablefalse。this.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE。this.addjpl。jpl.setLayoutnull。serch.addActionListenerthis。reset.addActionListenerthis。/* 查询 面板 */SCH.setBounds100,20,300,20。jpl.addSCH。label1.setBounds100,60,100,20。可编辑资料 - - -
37、 欢迎下载精品名师归纳总结jpl.addlabel1。num.setBounds220,60,140,20jpl.addnum。serch.setBounds120,100,90,20。reset.setBounds260,100,90,20。jpl.addserch。jpl.addreset。label2.setBounds100,140,70,20。jpl.addlabel2。nam.setBounds190,140,140,20。jpl.addnam。label5.setBounds100,180,70,20。jpl.addlabel5。man.setBounds205,180,60,2
38、0。women.setBounds285,180,60,20。bgp.addman。bgp.addwomen。jpl.addman。jpl.addwomen。label3.setBounds100,220,70,20。jpl.addlabel3。clas.setBounds190,220,140,20。jpl.addclas。label4.setBounds100,260,70,20。jpl.addlabel4。scl.setBounds190,260,140,20。jpl.addscl。public void actionPerformedActionEvent eString id = n
39、um.getText。ife.getSource=serchtryClass.forNamesun.jdbc.odbc.JdbcOdbcDriver。catch ClassNotFoundException ceJOptionPane.showMessageDialogs,ce.getMessage。try可编辑资料 - - - 欢迎下载精品名师归纳总结Connectioncon=DriverManager.getConnectionjdbc:odbc:sysdb,sa,。Statement stmt = con.createStatement。ResultSet rs = stmt.executeQueryselect * from STU where ID = + id + 。whilers.nextnam.setTextrs.getStringName。ifrs.getStringSex.equals男可编辑资料 - - - 欢迎下载精品名师归纳总结elseman.setSelectedtrue。women.setSelectedtrue。可编辑资料 - - - 欢迎下载精品名师归纳总结clas.setTextrs.getString
限制150内