教室管理系统的源代码.docx
- 文档编号:3638145
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:39
- 大小:110.90KB
教室管理系统的源代码.docx
《教室管理系统的源代码.docx》由会员分享,可在线阅读,更多相关《教室管理系统的源代码.docx(39页珍藏版)》请在冰豆网上搜索。
教室管理系统的源代码
1.创建数据库
CreatedatebaseclassManager;
createtableClasslnfo(教室编号varchar(10)primarykey,
教室设备varchar(100)notnull,
教室容纳人数intnotnull,
教室管理员编号varchar(10)notnull);
createtableTeacherInfo
);
createtableClassRoomInfo
教室编号varchar(10),
上课开始时间dateTimenotnull,
结束时间dateTimenotnull,
教师编号varchar(10),
Foreignkey(教室编号)referencesClassInfo(教室编号),
Foreignkey(教师编号)referencesTeacherlnfo(教师编号));
createtablemanager(
usernamevarchar(10)notnull,
userpswvarchar(10)notnull);
insert
Classlnfo
values
('4101'
'投影仪','40','01')
insert
Classlnfo
values
('4102'
'电脑','50','02')
insert
Teacherlnfo
values
('0A','
李萍','计算机系统分','
向其中插入数据。
讲师')
insertvalues
TeacherInfo
('0B','
李明','C
语言','语言','
教授')
insert
ClassRoomInfo
values
('4101'
'8:
00'
'10:
00'
'0A'
insert
ClassRoomInfo
values
('4102'
'10:
00'
'12:
00'
'0B'
insert
manager
values
('jack'
'20120521')
)
)
2.创建登录界面
packagedev.chall.otherinterface;
importjava.awt.Cursor;
importjava.awt.FlowLayout;
importjava.awt.Frame;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowEvent;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjavax.swing.JButton;
importjavax.swing.JDialog;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JPasswordField;
importjavax.swing.JTextField;
publicclassLoginextendsJDialogimplementsActionListener{
publicstaticStringloginName;
publicLogin(Frameowner,Stringtitle,booleanmodal){
super(owner,title,modal);
init();
privatevoidinit()
name=newJLabel("登录名:
”);
nameV=newJTextField(10);
top=newJPanel();
top.add(name);
top.add(nameV);
this.add(top);
psw=newJLabel("密码:
");
pswV=newJPasswordField(10);
center=newJPanel();
center.add(psw);
center.add(pswV);
this.add(center);
login=newJButton();
login.setText("登录");
login.setActionCommand("login");
login.addActionListener(this);
quit=newJButton("退出");
quit.setActionCommand("quit");
quit.addActionListener(this);
bottom=newJPanel();
bottom.add(login);
bottom.add(quit);
this.add(bottom);
prompt=newJLabel();
this.add(prompt);
this.setLayout(newGridLayout(4,1));
this.setLocation(550,230);
this.setSize(200,200);
this.setVisible(true);
@Override
publicvoidactionPerformed(ActionEventarg0){
if(arg0.getActionCommand()=="login")
Stringname=nameV.getText();
Stringpsw=pswV.getText();
if(name.length()<=0||psw.length()<=0)
");
");
prompt.setText("提示:
用户名或密码为空!
return;
if(checkCount(name,psw))
this.dispose();
}else
prompt.setText("提示:
用户名或密码错误!
return;
}elseif(arg0.getActionCommand()=="quit")
System.exit(0);
privatebooleancheckCount(Stringname,Stringpsw)
Connectionconnection=null;
PreparedStatementps=null;
ResultSetrs=null;
try{
//加载驱动
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
"sa",
//得到连接connection=DriverManager.getConnection("jdbc:
odbc:
classManager",
"songchao");
//创建访问数据库接口ps=connection.prepareStatement("select*frommanager");
rs=ps.executeQuery();
while(rs.next())
Stringnamet=rs.getString
(1);
Stringpswt=rs.getString
(2);
System.out.println(namet+"<>"+pswt+""+name+"<>"+psw+"---");
if(namet.equals(name)&&pswt.equals(psw))
loginName=namet;
returntrue;
System.out.println("false");
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
rs.close();
ps.close();
connection.close();
}catch(SQLExceptione){
e.printStackTrace();
returnfalse;
@Override
protectedvoidprocessWindowEvent(WindowEventarg0){
super.processWindowEvent(arg0);
if(arg0.getID()==WindowEvent.WINDOW_CLOSING)
System.exit(0);
3.实现主界面,实现各按钮的作用
packagedev.chall.main;
importjava.awt.BorderLayout;
importjava.awt.FlowLayout;
importjava.awt.Font;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.ItemEvent;
importjava.awt.event.ItemListener;
importjava.awt.event.WindowEvent;
importjava.util.Iterator;
importjava.util.Vector;
importjavax.swing.JButton;
importjavax.swing.JComboBox;
importjavax.swing.JDialog;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JScrollBar;
importjavax.swing.JScrollPane;
importjavax.swing.JTable;
importjavax.swing.JTextField;
importdev.chall.otherinterface.Delete;
importdev.chall.otherinterface.Insert;
importdev.chall.otherinterface.Update;
importdev.chall.otherinterface.Login;
importdev.chall.otherinterface.RemindDialog;
importdev.chall.util.MyTableModel;
publicclassControlInterfaceextendsJFrameimplementsActionListener{
//登录界面
Loginlogin;
//主控制界面
//topBar
//rightBar
privateJButtonsearchB,alert,insert,delete;
privateJTextFieldsearchT;//搜索字样
//centerBar
privateJScrollPanescroll;
privateMyTableModelmodel;
privateString[]list=newString[]{"教师信息","教室信息","教室使用情况","教室具体使用情况
"};
privateJLabelremind;
publicstaticvoidmain(String[]args)
newControlInterface();
publicControlInterface()
//登录界面login=newLogin(this,"登录",true);
//登陆界面回来之后
//topBar
userName.setText(Login.loginName);
userName.setFont(newFont("隶书",1,25));//字体,1代表样式,字号
userName.setLocation(this.getWidth()/2-userName.getWidth()/2,
userName.getHeight()/3);
topBar.add(userName,BorderLayout.CENTER);
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=newJPanel();
rightBar.setLayout(newGridLayout(4,1));
this.add(rightBar,BorderLayout.EAST);
operationP=newJPanel();
operationP.setLayout(newFlowLayout());
operationT=newJLabel("选择表:
");
operation=newJComboBox(list);
operation.addItemListener(newItemListener(){
@OverridepublicvoiditemStateChanged(ItemEventarg0){
searchT.setTextC请输入"+operation.getSelectedItem().toString().substring(0,2)+"编号");
content.setModel(model);
});
operationP.add(operationT);
operationP.add(operation);
buttonP=newJPanel();
buttonP.setLayout(newGridLayout(3,1));
alert=newJButton("修改");
alert.addActionListener(this);
alert.setActionCommand("alert");
insert=newJButton("增加");
insert.addActionListener(this);
insert.setActionCommand("insert");
delete=newJButton("删除");
delete.addActionListener(this);
delete.setActionCommand("delete");
buttonP.add(alert);
buttonP.add(insert);
buttonP.add(delete);
operationP.add(buttonP);
rightBar.add(operationP);
search=newJLabel("关键字:
”);
searchT=newJTextField(10);
searchT.setText(”请输入"+operation.getSelectedltem().toString().substring(0,2)+"编号");
searchB=newJButton("搜索");
searchB.addActionListener(this);
searchB.setActionCommand("search");
searchP=newJPanel();
searchP.setLayout(newFlowLayout());
searchP.add(search);
searchP.add(searchT);
searchP.add(searchB);
rightBar.add(searchP);
remind=newJLabel();
rightBar.add(remind);
//centerBarmodel=newMyTableModel(operation.getSelectedItem().toString());
content=newJTable(model);
scroll=newJScrollPane(content);
this.add(scroll,BorderLayout.CENTER);
this.setTitle("教室管理系统");
this.setResizable(false);
this.setLocation(180,60);
this.setSize(1000,600);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
@Override
publicvoidactionPerformed(ActionEventarg0){
if(arg0.getActionCommand()=="quit")
System.exit(0);
if(arg0.getActionCommand()=="search")
search2UnionTable();
return;
if(((String)operation.getSelectedItem())=="教室具体使用情况")
newRemindDialog(this,"提示",true,0);
return;
if(arg0.getActionCommand()=="insert")
newInsert(this,"增加新数据",true,operation.getSelectedItem().toString());
content.setModel(model);
return;
if(content.getSelectedRow()==-1)
newRemindDialog(this,"提示",true,1);
return;
if(arg0.getActionCommand()=="alert")
Vectorv=(Vector)MyTableModel.rowData.get(content.getSelectedRow());
newUpdate(this,"修改",true,operation.getSelectedItem().toString(),v);
model=newMyTableModel(operation.getSelectedItem().toString());
content.setModel(model);
return;
if(arg0.getActionCommand()=="delete")
Vectorv=(Vector)MyTableModel.rowData.get(content.getSelectedRow());
newDelete(this,"删除",true,v,operation.getSelectedItem().toString());
model=newMyTableModel(operation.getSelectedItem().toString());
content.setModel(model);
return;
privatevoidsearch2UnionTable()
Vectorv=MyTableModel.select(operation.getSelectedItem().toString());
VectorrowData=newVector();
Iteratoriterator=v.iterator();
StringrNum=searchT.getText().toString().trim();
while(iterator.hasNext())
Vectortem=(Vector)iterator.next();
if(((String)tem.get(0)).equals(rNum))
rowData.add(tem);
if(rowData.size()==0)
remind.setText("无该教室信息");
return;
}else
remind.setText("");
MyTableModelmy=newMyTableModel(rowData,MyTableModel.columnNames);
content.setModel(my);
}
4.向主界面中加载数据
packagedev.chall.util;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.util.Vector;
importjavax.swing.table.AbstractTableModel;
publicclassMyTableModelextendsAbstractTableModel{
publicMyTableModel(Stringvalue){
select(value);
this.rowData=rowData;
this.columnNames=columnNames;
publicstaticVectorselect(Stringvalue)
rowData=newVector();
columnNames=newVector();
Connectionconnection=null;
PreparedStatementps=null;
ResultSetrs=null;
Stringsql=null;
if(value=="教师信息")
columnNames.add("教师编号");
columnNames.add("教师姓名");
columnNames.a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教室 管理 系统 源代码