学生信息管理系统 java.docx
- 文档编号:26297589
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:53
- 大小:609.80KB
学生信息管理系统 java.docx
《学生信息管理系统 java.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统 java.docx(53页珍藏版)》请在冰豆网上搜索。
学生信息管理系统java
学生信息管理系统
学院名称:
计算机工程学院
专业:
软件工程
班级:
09软件工程2Z
学号:
09144223
姓名:
袁铃铃
指导教师:
张俐
2011年06月25日
一、目的与任务
确定课题“教学管理系统”。
熟悉软件开发环境。
二、实验背景
以java为基本的编程语言,myeclipse为编译工具进行设计.mysql建表。
三、项目功能简介:
本软件名称为教学管理系统,可以由两种身份进入,学生身份和管理员身份进入系统,当学生进入系统的时候,利用统一的密码进入时,只可以查看各个表的基本信息。
当利用管理员身份进入的时候,则可以快速查找某人学生的所有信息,还可以对各个表进行增,删,改,查。
四、项目粗略图设计:
五、详细设计阶段:
(一)、创建数据库:
(二)、图书管理系统的四个表结构:
(1)、学生表(学号+学生姓名+班号)
(no,name,classno)
(2)、班级信息(班号+年级+班主任+专业)
(classno,class,pteacher,major)
(3)、课程表(课程编号+课程名称+任课教师+班号)
(courseno,coursename,teacher,classno)
(4)、学生成绩(学号+学生姓名+班号+考试编号+课程名称+分数)
(no,name,classno,examno,coursename,grade)
(三)、在PowerDesigner中的表示为:
Generationdatabase中的语句为:
ifexists(
select1fromsys.systable
wheretable_name='class'
andtable_typein('BASE','GBLTEMP')
)then
droptableclass
endif;
ifexists(
select1fromsys.systable
wheretable_name='course'
andtable_typein('BASE','GBLTEMP')
)then
droptablecourse
endif;
ifexists(
select1fromsys.systable
wheretable_name='grade'
andtable_typein('BASE','GBLTEMP')
)then
droptablegrade
endif;
ifexists(
select1fromsys.systable
wheretable_name='student'
andtable_typein('BASE','GBLTEMP')
)then
droptablestudent
endif;
createtableclass
(
class_classnochar(10)notnull,
class_classchar(10)notnull,
class_pteacherchar(10)notnull,
class_majorchar(10)notnull,
constraintPK_CLASSprimarykeyclustered(class_classno)
);
createtablecourse
(
course_coursenochar(10)notnull,
course_coursenamechar(10)notnull,
course_teacherchar(10)notnull,
course_classnochar(10)notnull,
constraintPK_COURSEprimarykeyclustered(course_courseno)
);
createtablegrade
(
grade_nochar(10)notnull,
grade_namechar(10)notnull,
grade_classnochar(10)notnull,
grade_exemnochar(10)notnull,
grade_coursenamechar(10)notnull,
grade_gradeintnotnull,
constraintPK_GRADEprimarykeyclustered(grade_no)
);
createtablestudent
(
student_nochar(10)notnull,
student_namechar(10)notnull,
student_classnochar(10)notnull,
constraintPK_STUDENTprimarykeyclustered(student_no)
);
生成数据为:
insertintostudent(student_no,student_name,student_classno)values('001','beibei','091');
insertintostudent(student_no,student_name,student_classno)values('002','jingjing','092');
insertintostudent(student_no,student_name,student_classno)values('003','huanghuang','101');
insertintostudent(student_no,student_name,student_classno)values('004','yingying','102');
insertintostudent(student_no,student_name,student_classno)values('005','nini','103');
insertintoclass(class_classno,class_class,class_pteacher,class_major)values('091','09','wan','c1');
insertintoclass(class_classno,class_class,class_pteacher,class_major)values('092','09','li','c2');
insertintoclass(class_classno,class_class,class_pteacher,class_major)values('101','10','qian','t1');
insertintoclass(class_classno,class_class,class_pteacher,class_major)values('102','10','chen','t2');
insertintoclass(class_classno,class_class,class_pteacher,class_major)values('103','10','yuan','t3');
insertintocourse(course_courseno,course_coursename,course_teacher,course_classno)values('111','T1','A1','091');
insertintocourse(course_courseno,course_coursename,course_teacher,course_classno)values('112','T2','A2','092');
insertintocourse(course_courseno,course_coursename,course_teacher,course_classno)values('113','T3','A3','101');
insertintocourse(course_courseno,course_coursename,course_teacher,course_classno)values('114','T4','A4','102');
insertintocourse(course_courseno,course_coursename,course_teacher,course_classno)values('115','T5','A5','103');
insertintograde(grade_no,grade_name,grade_classno,grade_exemno,grade_coursename,grade_grade)values('001','beibei','091','E1','T1',299);
insertintograde(grade_no,grade_name,grade_classno,grade_exemno,grade_coursename,grade_grade)values('002','jingjing','092','E2','T2',298);
insertintograde(grade_no,grade_name,grade_classno,grade_exemno,grade_coursename,grade_grade)values('003','huanghuang','101','E3','T3',296);
insertintograde(grade_no,grade_name,grade_classno,grade_exemno,grade_coursename,grade_grade)values('004','yingying','102','E4','T4',297);
insertintograde(grade_no,grade_name,grade_classno,grade_exemno,grade_coursename,grade_grade)values('005','nini','103','E5','T5',294);
(四)、用数据连接后的生成数据为:
(五)、完整的教学管理系统编码:
1.界面展示:
①登录:
如果是学生(用户名:
a,密码:
1),则登录后只可以查询各个表。
如图:
如果是管理员(用户名:
zhangli,密码:
007),则除了可以查询所有成绩之外,还可以快速查询某一位同学的所有成绩,并且还可以对各个表进行增,删,改,查。
效果图如下:
②快速度查询:
③对四个表进行查询,并进行增,删,改,查:
删除后的学生表:
2.代码设计如下:
附录1:
四个表的设计代码:
student,class1,course,grade
附录2:
登录界面的设计代码:
附录3:
查询界面界面的代码:
Find,sy
附录4:
四个表的增删改查设计代码:
Addstudent,Updatastudent,Allstudent,Deletestudent,Addclass1,Updataclass1,Allclass1,Deleteclass1,Addcourse,Updatacourse,Allcourse,Deletecourse,Addgrade,Updatagrade,Allgrade,Deletegrade
3、下列为部门典型程序,详细代码见电子文档
附录1:
student
packagework;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.util.*;
importjavax.swing.*;
publicclassstudentextendsJFrame{
privateJTablejt=null;
privateVectorcolumnNames;//字段的名称
privateVectorrowData;//所有行的数据
privateJScrollPanejsp;//上下滚动条
Connectionconn=null;//连接数据库
PreparedStatementpstmt=null;//操作数据表
ResultSetrs=null;//数据结果集
publicstudent(){
//1、构造字段名称
columnNames=newVector();
columnNames.add("学号");
columnNames.add("姓名");
columnNames.add("班号");
//2、构造数据
rowData=newVector();
try{
Class.forName("com.mysql.jdbc.Driver");//1
conn=DriverManager.getConnection("jdbc:
mysql:
//127.0.0.1:
3306/school?
user=root&password=root&useUnicode=true&characterEncoding=utf8");//2
pstmt=conn.prepareStatement("select*fromstudent");//3
rs=pstmt.executeQuery();
System.out.println("-----------学生信息-------------");
while(rs.next()){//遍历
Vectorrow=newVector();
row.add(rs.getString("student_no"));
row.add(rs.getString("student_name"));
row.add(rs.getString("student_classno"));
rowData.add(row);
}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
try{
if(rs!
=null)
rs.close();
if(pstmt!
=null)
pstmt.close();
if(conn!
=null)
conn.close();
}catch(Exceptione2){
//TODO:
handleexception
}
}
//3、
jt=newJTable(rowData,columnNames);
//4、增加上下滚动条;
jsp=newJScrollPane(jt);
//5、把jsp放到JFrame中
this.add(jsp);
this.setSize(300,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
publicstaticvoidmain(String[]args){
studentsjf=newstudent();
}
}
附录2:
packagework;
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.util.Vector;
importjavax.swing.*;
publicclassxingextendsJFrame{
privatestaticfinallongserialVersionUID=4949257312955311099L;
publicstaticintz=1;
publicstaticintgetZ(){
returnz;
}
publicstaticvoidsetZ(intz){
xing.z=z;
}
intj=1;
//intkk=1;
TextFieldf1;
TextFieldf2;
TextFieldf3;
JButtonb1;
JButtonb2;
JButtonb3;
JButtonb4;
JButtonb5;
JButtonb6;
JButtonb7;
Stringpower;//表示权限
xing(){
Containercp=getContentPane();
cp.setLayout(newGridLayout(4,8));
Labell1=newLabel("用户名");
Labell2=newLabel("密码");
Panelp1=newPanel();
Panelp2=newPanel();
Panelp3=newPanel();
Panelp4=newPanel();
Panelp5=newPanel();
Panelp6=newPanel();
Panelp7=newPanel();
Panelp11=newPanel();
Panelp12=newPanel();
Panelp13=newPanel();
f1=newTextField(10);
f2=newTextField(10);
f2.setEchoChar('*');
b1=newJButton("登录");
b2=newJButton("重置");
b3=newJButton("退出");
b4=newJButton("学生表");
b5=newJButton("班级信息");
b6=newJButton("课程表");
b7=newJButton("学生成绩");
p1.add(l1);
p1.add(f1);
p2.add(l2);
p2.add(f2);
p11.add(b1);
p12.add(b2);
p13.add(b3);
p4.add(b4);
p5.add(b5);
p6.add(b6);
p7.add(b7);
cp.add(p1);
cp.add(p2);
cp.add(p3);
cp.add(p11);
cp.add(p12);
cp.add(p13);
cp.add(p4);
cp.add(p5);
cp.add(p6);
cp.add(p7);
b1.addActionListener(newEnter());
b4.addActionListener(newstudent());
b5.addActionListener(newclass1());
b6.addActionListener(newcourse());
b7.addActionListener(newgrade());
b2.addActionListener(newReWrite());
b3.addActionListener(newClose());
}
publicstaticvoidmain(String[]args){
xinglog=newxing();
log.setTitle("系统登录");
log.setBounds(0,2,400,300);
log.setBackground(Color.blue);
log.setVisible(true);
}
classEnterimplementsActionListener{
publicvoidactionPerformed(ActionEvente)
{
if((f1.getText()).equals("a")&&(f2.getText()).equals("1"))
{
JOptionPane.showMessageDialog(null,"登录成功!
用户权限是学生");
power="学生";
j=0;
}
elseif((f1.getText()).equals("zhangli")&&(f2.getText()).equals("007"))
{
JOptionPane.showMessageDialog(null,"登录成功!
用户权限是管理员");
power="管理员";
Findf2=newFind();
f2.setVisible(true);
z=0;
j=0;
}
elseJOptionPane.showMessageDialog(null,"登录失败,请重新登录!
");
}
}
classstudentimplementsActionListener{
publicvoidactionPerformed(ActionEvente)
{
if(j==0){
JOptionPane.showMessageDialog(null,"学生表");
setTitle("学生表");
JTablejt=null;
VectorcolumnNames;//字段的名称
VectorrowData;//所有行的数据
JScro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生信息管理系统 java 学生 信息管理 系统