教室管理系统的源代码1

上传人:仙*** 文档编号:37468080 上传时间:2021-11-03 格式:DOC 页数:42 大小:111.50KB
收藏 版权申诉 举报 下载
教室管理系统的源代码1_第1页
第1页 / 共42页
教室管理系统的源代码1_第2页
第2页 / 共42页
教室管理系统的源代码1_第3页
第3页 / 共42页
资源描述:

《教室管理系统的源代码1》由会员分享,可在线阅读,更多相关《教室管理系统的源代码1(42页珍藏版)》请在装配图网上搜索。

1、1.创建数据库Create datebase classManager;create table ClassInfo(教室编号 varchar(10) primary key,教室设备 varchar(100) not null,教室容纳人数 int not null,教室管理员编号 varchar(10) not null);create table TeacherInfo(教师编号 varchar(10) primary key,教师姓名varchar(20) not null,教授课程varchar(50),教师职称 varchar(20) not null);create table

2、ClassRoomInfo(教室编号 varchar(10),上课开始时间 dateTime not null,结束时间 dateTime not null,教师编号 varchar(10),Foreign key (教室编号) references ClassInfo(教室编号), Foreign key (教师编号) references TeacherInfo(教师编号);create table manager(username varchar(10) not null,userpsw varchar(10) not null);向其中插入数据。insert ClassInfovalu

3、es(4101,投影仪,40,01)insert ClassInfovalues(4102,电脑,50,02)insert TeacherInfovalues(0A,李萍,计算机系统分,讲师)insert TeacherInfovalues(0B,李明,C语言,教授)insert ClassRoomInfovalues(4101,8:00,10:00,0A)insert ClassRoomInfovalues(4102,10:00,12:00,0B)insert managervalues(jack,20120521)2.创建登录界面package dev.chall.otherinterfa

4、ce;import java.awt.Cursor;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowEvent;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;im

5、port java.sql.ResultSet;import java.sql.SQLException;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;public class Login extends JDialog implements ActionListenerprivate JLabel na

6、me;private JLabel psw;private JTextField nameV;private JPasswordField pswV;private JButton login,quit;private JPanel top;private JPanel center;private JPanel bottom;private JLabel prompt;public static String loginName;public Login(Frame owner, String title, boolean modal) super(owner, title, modal);

7、init();private void init()name=new JLabel(登录名:);nameV=new JTextField(10);top=new JPanel();top.add(name);top.add(nameV);this.add(top);psw=new JLabel(密 码:);pswV=new JPasswordField(10);center=new JPanel();center.add(psw);center.add(pswV);this.add(center);login=new JButton();login.setText(登录);login.setA

8、ctionCommand(login);login.addActionListener(this);quit=new JButton(退出);quit.setActionCommand(quit);quit.addActionListener(this);bottom=new JPanel();bottom.add(login);bottom.add(quit);this.add(bottom);prompt=new JLabel();this.add(prompt);this.setLayout(new GridLayout(4, 1);this.setLocation(550, 230);

9、this.setSize(200,200);this.setVisible(true);Overridepublic void actionPerformed(ActionEvent arg0) if(arg0.getActionCommand()=login)String name=nameV.getText();String psw=pswV.getText();if(name.length()=0|psw.length()=0)prompt.setText(提示:用户名或密码为空!);return;if(checkCount(name,psw)this.dispose();elsepro

10、mpt.setText(提示:用户名或密码错误!);return;else if(arg0.getActionCommand()=quit)System.exit(0);private boolean checkCount(String name,String psw)Connection connection=null;PreparedStatement ps=null;ResultSet rs=null;try /加载驱动Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);/得到连接connection=DriverManager.getConnecti

11、on(jdbc:odbc:classManager, sa, songchao);/创建访问数据库接口ps=connection.prepareStatement(select * from manager);rs=ps.executeQuery();while(rs.next()String namet=rs.getString(1);String pswt=rs.getString(2);System.out.println(namet+pswt+-+name+psw+-);if(namet.equals(name)&pswt.equals(psw)loginName=namet;retu

12、rn true;System.out.println(false); catch (Exception e) e.printStackTrace();finallytry rs.close();ps.close();connection.close(); catch (SQLException e) e.printStackTrace();return false;Overrideprotected void processWindowEvent(WindowEvent arg0) super.processWindowEvent(arg0);if(arg0.getID()=WindowEve

13、nt.WINDOW_CLOSING)System.exit(0);3.实现主界面,实现各按钮的作用package dev.chall.main;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event

14、.ItemListener;import java.awt.event.WindowEvent;import java.util.Iterator;import java.util.Vector;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollBar;import java

15、x.swing.JScrollPane;import javax.swing.JTable;import javax.swing.JTextField; import dev.chall.otherinterface.Delete;import dev.chall.otherinterface.Insert;import dev.chall.otherinterface.Update;import dev.chall.otherinterface.Login;import dev.chall.otherinterface.RemindDialog;import dev.chall.util.M

16、yTableModel;public class ControlInterface extends JFrame implements ActionListener/登录界面Login login;/主控制界面private JPanel topBar,rightBar;/topBarprivate JLabel userName;private JButtonquit;/rightBarprivate JPanel operationP,buttonP,searchP;private JLabel operationT,search;private JComboBox operation;p

17、rivate JButton searchB,alert,insert,delete;private JTextFieldsearchT;/搜索字样 /centerBarprivateJScrollPane scroll;privateJTable content;private MyTableModel model;private String list=new String教师信息,教室信息,教室使用情况,教室具体使用情况;private JLabel remind;public static void main(String args)new ControlInterface();pub

18、lic ControlInterface()/登录界面 -login=new Login(this, 登录,true);/登陆界面回来之后/topBartopBar=new JPanel();userName=new JLabel();userName.setText(Login.loginName);userName.setFont(new Font(隶书,1,25);/字体,1代表样式,字号userName.setLocation(this.getWidth()/2-userName.getWidth()/2, userName.getHeight()/3);topBar.add(user

19、Name,BorderLayout.CENTER);quit=new JButton(退出);quit.setActionCommand(quit);quit.addActionListener(this);quit.setLocation(int) (this.getWidth()-quit.getWidth()*1.5),userName.getHeight()/3);topBar.add(quit,BorderLayout.EAST);this.add(topBar,BorderLayout.NORTH);/rightBarrightBar=new JPanel();rightBar.s

20、etLayout(new GridLayout(4,1);this.add(rightBar,BorderLayout.EAST);operationP=new JPanel();operationP.setLayout(new FlowLayout();operationT=new JLabel(选择表:);operation=new JComboBox(list);operation.addItemListener(new ItemListener()Overridepublic void itemStateChanged(ItemEvent arg0) searchT.setText(请

21、输入+ operation.getSelectedItem().toString().substring(0,2)+ 编号);model=new MyTableModel(operation.getSelectedItem().toString();content.setModel(model);) ;operationP.add(operationT);operationP.add(operation);buttonP=new JPanel();buttonP.setLayout(new GridLayout(3,1);alert=new JButton(修改);alert.addActio

22、nListener(this);alert.setActionCommand(alert);insert=new JButton(增加);insert.addActionListener(this);insert.setActionCommand(insert);delete=new JButton(删除);delete.addActionListener(this);delete.setActionCommand(delete);buttonP.add(alert);buttonP.add(insert);buttonP.add(delete);operationP.add(buttonP)

23、;rightBar.add(operationP);search=new JLabel(关键字:);searchT=new JTextField(10);searchT.setText(请输入+operation.getSelectedItem().toString().substring(0,2)+编号);searchB=new JButton(搜索);searchB.addActionListener(this);searchB.setActionCommand(search);searchP=new JPanel();searchP.setLayout(new FlowLayout();

24、searchP.add(search);searchP.add(searchT);searchP.add(searchB);rightBar.add(searchP);remind=new JLabel();rightBar.add(remind);/centerBarmodel=new MyTableModel(operation.getSelectedItem().toString();content=new JTable(model);scroll=new JScrollPane(content);this.add(scroll,BorderLayout.CENTER);this.set

25、Title(教室管理系统);this.setResizable(false);this.setLocation(180,60);this.setSize(1000, 600);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Overridepublic void actionPerformed(ActionEvent arg0) if(arg0.getActionCommand()=quit)System.exit(0);if(arg0.getActionCommand()=search)sea

26、rch2UnionTable();return;if(String)operation.getSelectedItem()=教室具体使用情况)new RemindDialog(this, 提示,true,0);return;if(arg0.getActionCommand()=insert)new Insert(this,增加新数据,true,operation.getSelectedItem().toString();model=new MyTableModel(operation.getSelectedItem().toString();content.setModel(model);re

27、turn;if(content.getSelectedRow()=-1)new RemindDialog(this, 提示,true,1);return;if(arg0.getActionCommand()=alert)Vector v=(Vector)MyTableModel.rowData.get(content.getSelectedRow();new Update(this,修改,true,operation.getSelectedItem().toString(),v);model=new MyTableModel(operation.getSelectedItem().toStri

28、ng();content.setModel(model);return;if(arg0.getActionCommand()=delete)Vector v=(Vector) MyTableModel.rowData.get(content.getSelectedRow();new Delete(this,删除,true,v,operation.getSelectedItem().toString();model=new MyTableModel(operation.getSelectedItem().toString();content.setModel(model);return;priv

29、ate void search2UnionTable()Vector v=MyTableModel.select(operation.getSelectedItem().toString();Vector rowData=new Vector();Iterator iterator=v.iterator();String rNum=searchT.getText().toString().trim();while(iterator.hasNext()Vector tem=(Vector)iterator.next();if(String)tem.get(0).equals(rNum)rowDa

30、ta.add(tem);if(rowData.size()=0)remind.setText(-无该教室信息-);return;elseremind.setText();MyTableModel my=new MyTableModel(rowData,MyTableModel.columnNames);content.setModel(my);4.向主界面中加载数据package dev.chall.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;im

31、port java.sql.ResultSet;import java.sql.SQLException;import java.util.Vector;import javax.swing.table.AbstractTableModel;public class MyTableModel extends AbstractTableModelpublic static Vector rowData;public static Vector columnNames;public MyTableModel(String value) select(value);public MyTableMod

32、el(Vector rowData,Vector columnNames) this.rowData=rowData;this.columnNames=columnNames;public static Vector select(String value)rowData=new Vector();columnNames=new Vector();Connection connection=null;PreparedStatement ps=null;ResultSet rs=null;String sql = null;if(value=教师信息)columnNames.add(教师编号);

33、columnNames.add(教师姓名);columnNames.add(教授课程);columnNames.add(教师职称);sql=select * from TeacherInfo;else if(value=教室信息)columnNames.add(教室编号);columnNames.add(教室设备);columnNames.add(教室容纳人数);columnNames.add(教室管理员编号);sql=select * from ClassInfo;else if(value=教室使用情况)columnNames.add(教室编号);columnNames.add(上课开始时

34、间);columnNames.add(结束时间);columnNames.add(教师编号);sql=select 教室编号, convert(varchar(20),上课开始时间,111),convert(varchar(20),上课开始时间,108),convert(varchar(20),结束时间,111) ,convert(varchar(20),结束时间,108), 教师编号 from ClassRoomInfo;else if(value=教室具体使用情况)columnNames.add(教室编号);columnNames.add(教师编号);columnNames.add(教师姓

35、名);columnNames.add(教授课程);columnNames.add(上课开始时间); columnNames.add(结束时间);columnNames.add(教师职称);columnNames.add(教室设备);columnNames.add(教室容纳人数);columnNames.add(教室管理员编号);sql=select ClassInfo.教室编号,TeacherInfo.教师编号,TeacherInfo.教师姓名,TeacherInfo.教授课程, convert(varchar(20),ClassRoomInfo.上课开始时间,111),convert(var

36、char(20),ClassRoomInfo.上课开始时间,108),convert(varchar(20),ClassRoomInfo.结束时间,111) ,convert(varchar(20),ClassRoomInfo.结束时间,108) ,TeacherInfo.教师职称,ClassInfo.教室设备,ClassInfo.教室容纳人数,ClassInfo.教室管理员编号 from ClassRoomInfo,TeacherInfo,ClassInfo where ClassInfo.教室编号= ClassRoomInfo.教室编号 and TeacherInfo.教师编号=Class

37、RoomInfo.教师编号;try /加载驱动Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);/得到连接 connection=DriverManager.getConnection(jdbc:odbc:classManager, sa, songchao);/创建访问数据库接口ps=connection.prepareStatement(sql);rs=ps.executeQuery();if(value=教师信息)while(rs.next()Vector tem=new Vector();tem.add(rs.getString(1);tem.ad

38、d(rs.getString(2);tem.add(rs.getString(3);tem.add(rs.getString(4);rowData.add(tem);else if(value=教室信息)while(rs.next()Vector tem=new Vector();tem.add(rs.getString(1);tem.add(rs.getString(2);tem.add(rs.getInt(3);tem.add(rs.getString(4);rowData.add(tem);else if(value=教室使用情况)while(rs.next()Vector tem=ne

39、w Vector();tem.add(rs.getString(1);tem.add(rs.getString(2)+/+rs.getString(3);tem.add(rs.getString(4)+/+rs.getString(5);tem.add(rs.getString(6);rowData.add(tem);else if(value=教室具体使用情况)while(rs.next()Vector tem=new Vector();tem.add(rs.getString(1);tem.add(rs.getString(2);tem.add(rs.getString(3);tem.ad

40、d(rs.getString(4);tem.add(rs.getString(5)+/+rs.getString(6);tem.add(rs.getString(7)+/+rs.getString(8);tem.add(rs.getString(9);tem.add(rs.getString(10);tem.add(rs.getInt(11);tem.add(rs.getString(12);rowData.add(tem); catch (Exception e) e.printStackTrace();finallytry rs.close();ps.close();connection.

41、close(); catch (SQLException e) e.printStackTrace();return rowData;Overridepublic String getColumnName(int arg0) return (String) columnNames.get(arg0);Overridepublic int getColumnCount() return columnNames.size();Overridepublic int getRowCount() return rowData.size();Override public Object getValueA

42、t(int rowIndex, int columnIndex) return (Vector)rowData.get(rowIndex).get(columnIndex);5.实现主界面中修改按钮功能package dev.chall.otherinterface;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListen

43、er;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.Vector;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JDialog;import javax.swin

44、g.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import dev.chall.util.MyTableModel;public class Update extends JDialogprivate JLabel warn=new JLabel();/提示文本private JButton sure=new JButton(-确定-);private JButton cancle=new JButton(-取消-);private String sql;final JTextField t51=new JTe

45、xtField(15);final JTextField t52=new JTextField(15);final JTextField t53=new JTextField(15);final JTextField t54=new JTextField(15);public Update(Frame owner, String title, boolean modal,String name,final Vector v) super(owner, title, modal);warn.setBounds(0, 0, 300, 50);t51.setText(v.get(0).toStrin

46、g();t51.setEditable(false);t52.setText(v.get(1).toString();t53.setText(v.get(2).toString();t54.setText(v.get(3).toString();if(name=教师信息)JLabel t1=new JLabel(教师编号:);JLabel t2=new JLabel(教师姓名:);JLabel t3=new JLabel(教授课程:);JLabel t4=new JLabel(教师职称:);sure.addActionListener(new ActionListener()Overridep

47、ublic void actionPerformed(ActionEvent e) String tNum=t51.getText();String tName=t52.getText().trim();String tCourse=t53.getText().trim();String tTitle=t54.getText().trim();if(tNum.length()=0|tName.length()=0|tCourse.length()=0|tTitle.length()=0)warn.setText(-信息不全-);return;sql=UPDATE TeacherInfo SET

48、 教师姓名=+tName+,教授课程 =+tCourse+,教师职称=+tTitle+ WHERE 教师编号 = +tNum+;update2Table(sql);Update.this.dispose(););cancle.addActionListener(new ActionListener()Overridepublic void actionPerformed(ActionEvent e) Update.this.dispose(););this.add(t1);this.add(t51);this.add(t2);this.add(t52);this.add(t3);this.ad

49、d(t53);this.add(t4);this.add(t54);this.add(sure);this.add(cancle);this.add(warn);this.setLayout(new FlowLayout();this.setSize(250,300);this.setLocation(550, 100);this.setResizable(false);this.setVisible(true);this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);else if(name=教室信息)JLabel t1=new JLabel( 教 室

50、 编 号:);JLabel t2=new JLabel( 教 室 设 备:);JLabel t3=new JLabel(教 室 容 纳 人 数:);JLabel t4=new JLabel(教室管理员编号:);sure.addActionListener(new ActionListener()Overridepublic void actionPerformed(ActionEvent e) String tNum=t51.getText();String tName=t52.getText().trim();String tCourse=t53.getText().trim();Strin

51、g tTitle=t54.getText().trim();if(tNum.length()=0|tName.length()=0|tCourse.length()=0|tTitle.length()=0)warn.setText(-信息不全-);return;sql=UPDATE ClassInfo SET 教室设备=+tName+, 教室容纳人数=+tCourse+,教室管理员编号=+tTitle+ WHERE 教室编号= +tNum+;update2Table(sql);Update.this.dispose(););cancle.addActionListener(new Action

52、Listener()Overridepublic void actionPerformed(ActionEvent e) Update.this.dispose(););this.add(t1);this.add(t51);this.add(t2);this.add(t52);this.add(t3);this.add(t53);this.add(t4);this.add(t54);this.add(sure);this.add(cancle);this.add(warn);this.setLayout(new FlowLayout();this.setSize(220,300);this.s

53、etLocation(550, 100);this.setResizable(false);this.setVisible(true);this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);else if(name=教室使用情况)JLabel remind=new JLabel(时间填写形式YYYY/MM/DD/HH:MM:SS);JLabel t1=new JLabel( 教 室 编 号 :);JLabel t2=new JLabel(上课开始时间:);JLabel t3=new JLabel( 结 束 时 间 :);JLabel t4=new JL

54、abel( 教 师 编 号 :);/教师编号固定不可以随便填写,下拉列表提供final JComboBox tNum;Vector tVector=MyTableModel.select(教师信息);ArrayList tList=new ArrayList();for(int i=0;itVector.size();i+)tList.add( (Vector)tVector.get(i).get(0);tNum=new JComboBox(tList.toArray();sure.addActionListener(new ActionListener()Overridepublic void actionPerformed(ActionEvent e) String num=t51.getText().trim();String start=t52.getText().trim();

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!