java+数据库的学生管理系统Word文档格式.docx

上传人:b****3 文档编号:6622100 上传时间:2023-05-07 格式:DOCX 页数:114 大小:248.60KB
下载 相关 举报
java+数据库的学生管理系统Word文档格式.docx_第1页
第1页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第2页
第2页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第3页
第3页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第4页
第4页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第5页
第5页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第6页
第6页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第7页
第7页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第8页
第8页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第9页
第9页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第10页
第10页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第11页
第11页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第12页
第12页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第13页
第13页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第14页
第14页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第15页
第15页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第16页
第16页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第17页
第17页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第18页
第18页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第19页
第19页 / 共114页
java+数据库的学生管理系统Word文档格式.docx_第20页
第20页 / 共114页
亲,该文档总共114页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

java+数据库的学生管理系统Word文档格式.docx

《java+数据库的学生管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《java+数据库的学生管理系统Word文档格式.docx(114页珍藏版)》请在冰点文库上搜索。

java+数据库的学生管理系统Word文档格式.docx

用户信息管理模块结构图

3、数据库设计

在数据库student中共有4张数据表:

s(学生信息表)、c(课程信息表)、sc(选课信息表)、unpw(用户信息表),下面定义每张表的字段名称和数据类型。

s(学生信息表)

字段名称

数据类型

描述

sno

char(10)

学号,关键字

sn

char(20)

姓名

sa

int

年龄

ss

性别

sd

院系

c(课程信息表)

cno

课程号,关键字

cn

char(30)

课程名

pcno

先行课程号

sc(选课信息表)

g

成绩

unpw(用户信息表)

un

用户名,关键字

pw

密码

qx

角色

4、界面库设计

1、学生信息管理系统的登录

学生信息管理系统可由管理员和学生两种身份的人使用。

管理员和学生身份登录所能操作的功能有很大的区别。

系统初始化一个系统管理员,登录名:

admin密码:

admin

学生登录系统的登录名为学号,密码也为学号(如:

10001),登录后可以修改密码。

登录界面

管理员登录系统后的界面

学生登录系统后的界面

2、实现管理员和学生操作功能的界面

管理员的登录系统后可以进行学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等功能操作,其具体界面设计如下图所示。

学生信息管理功能的界面

课程信息管理功能的界面

选课信息管理功能的界面

成绩信息管理功能的界面

用户信息管理功能的界面

学生的登录系统后可以进行学生信息查看、成绩信息查看、个人信息管理等功能操作,其具体界面设计如下图所示。

学生信息查看功能的界面

成绩信息查看功能的界面

个人信息管理功能的界面

5、程序类的设计

SimpleStudentManager主函数类

DLFrame登陆界面类

ManagerFrane管理员界面类

StudentFrame学生界面类

SM学生信息管理的类

SAdd用于学生信息管理中增加或修改某条记录的界面的类

SSelect用于学生基本信息管理中查询时输入学号的界面的类

CM课程信息管理的类

CAdd用于课程信息管理中增加或修改某条记录的界面的类

CSelect用于课程信息管理中查询时输入课程号的界面的类

SCM选课信息管理的类

SCSelect用于选课信息管理中查询时输入学号的界面的类

GM成绩信息管理的类

GAdd用于成绩信息管理中修改成绩的界面的类

GSelect用于成绩信息管理中查询时输入学号的界面的类

PM用户信息管理的类

UAdd用于用户信息管理中修改密码的界面的类

PSelect用于用户信息管理中查询时输入用户名的界面的类

StudentS用于学生信息查看时输入学号的界面的类

StudentSelect用于成绩信息查看时输入学号的界面的类

PPM个人信息管理的类

PPSelect用于个人信息管理查询时输入用户名的界面的类

程序类的具体代码实现见工程文件夹中的代码及注释

6、系统的使用说明及环境配置

学生信息管理系统提供了管理员和学生这两个角色登录系统,管理员通过用户名:

admin登录系统后可以进行相应的操作。

学生通过以自己的学号(如10001)作为用户名和密码登录系统后进行相应的学生权限范围内的操作。

数据库:

SQLServer2005

连接数据库的登录名:

sa密码:

123

 

代码:

importjavax.swing.*;

importjava.awt.*;

importjava.awt.event.*;

importjava.sql.*;

classCAddextendsJFrameimplementsActionListener{//用于课程信息管理中增加或修改某条记录的界面

JLabellcno=newJLabel("

课程号:

"

);

JLabellcname=newJLabel("

课程名:

JLabellpcno=newJLabel("

先行课程号:

JTextFieldtcno=newJTextField(10);

JTextFieldtcname=newJTextField(10);

JTextFieldtpcno=newJTextField(10);

JButtonbtnOK=newJButton("

确定"

JButtonbtnCancel=newJButton("

取消"

JPanelp=newJPanel();

Connectioncon=null;

Statementstmt=null;

ResultSetrs=null;

booleanisNewsm=true;

//用于判断是否显示课程信息管理的界面

publicCAdd(){//构造方法

this.setTitle("

增加"

this.setBounds(200,200,146,235);

p.setLayout(newFlowLayout(FlowLayout.LEFT));

p.add(lcno);

p.add(tcno);

p.add(lcname);

p.add(tcname);

p.add(lpcno);

p.add(tpcno);

p.add(btnOK);

p.add(btnCancel);

this.add(p);

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

btnOK.addActionListener(this);

btnCancel.addActionListener(this);

this.show();

}

publicvoidconnDB(){//连接数据库

try{

Class.forName("

com.microsoft.sqlserver.jdbc.SQLServerDriver"

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}

con=DriverManager.getConnection(

"

jdbc:

sqlserver:

//localhost:

1433;

DatabaseName=student"

sa"

"

123"

stmt=con.createStatement();

}catch(SQLExceptione){

publicvoidcloseDB()//关闭连接

{

stmt.close();

con.close();

publicvoidinsertst(){//插入记录

Stringkch=null;

Stringkcm=null;

Stringxxkch=null;

kch=tcno.getText();

kcm=tcname.getText();

xxkch=tpcno.getText();

if(this.getTitle()=="

修改"

){//如果是修改记录,先删除再增加

try{

this.connDB();

intrs1=stmt.executeUpdate("

deletefromcwherecno='

+kch+"

'

}catch(SQLExceptione){

e.printStackTrace();

}

}

Stringstr="

insertintocvalues('

+kch+"

'

+kcm+"

+xxkch+"

)"

;

this.connDB();

//连接数据库

try{

stmt.executeUpdate(str);

JOptionPane.showMessageDialog(null,this.getTitle()+"

成功!

"

提示"

JOptionPane.INFORMATION_MESSAGE,newImageIcon(

"

menu4.gif"

));

this.setVisible(false);

catch(SQLExceptione){

JOptionPane.showMessageDialog(null,"

课程号已存在!

tcno.setText("

publicvoidactionPerformed(ActionEvente){

if(e.getActionCommand()=="

){

this.insertst();

if(isNewsm){

newCM("

课程信息管理"

).display();

isNewsm=true;

this.setVisible(false);

newCM("

}

importjava.awt.Component;

importjava.awt.FlowLayout;

importjava.util.*;

importjavax.swing.table.TableCellRenderer;

classCMextendsJFrameimplementsActionListener{//课程信息管理

JButtonbtnAdd=newJButton("

JButtonbtnDelete=newJButton("

删除"

JButtonbtnAlter=newJButton("

JButtonbtnSearch=newJButton("

查询"

JButtonbtnDisplay=newJButton("

显示"

JMenuBarmb=newJMenuBar();

JPanelp1=newJPanel();

JTablesTable;

JScrollPanescroll;

Object[][]playerInfo;

CSelectcst;

Stringmkch=null;

booleanbstd=false;

CM(Stringtitle){//构造方法

super(title);

add("

South"

p);

this.add("

Center"

p1);

mb.add(btnAdd);

mb.add(btnDelete);

mb.add(btnAlter);

mb.add(btnSearch);

mb.add(btnDisplay);

this.connDB();

this.setBounds(200,200,400,260);

btnAdd.addActionListener(this);

btnDelete.addActionListener(this);

btnAlter.addActionListener(this);

btnSearch.addActionListener(this);

btnDisplay.addActionListener(this);

this.setJMenuBar(mb);

//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

show();

CM(CSelectcst,Stringtitle){//构造方法

this.cst=cst;

bstd=true;

publicvoiddisplay(){//显示所有的课程信息

inti=0;

intj=0;

intk=0;

Listal=newArrayList();

rs=stmt.executeQuery("

select*fromc"

while(rs.next()){//找出表中的记录数赋给i

al.add(rs.getString("

cno"

cn"

pcno"

i++;

playerInfo=newObject[i][3];

String[]columnNames={"

课程号"

课程名"

先行课程号"

};

select*fromcorderbycno"

while(rs.next()){

playerInfo[j][0]=rs.getString("

playerInfo[j][1]=rs.getString("

playerInfo[j][2]=rs.getString("

j++;

sTable=newJTable(playerInfo,columnNames);

//创建网格

p1.add(sTable);

scroll=newJScrollPane(sTable);

this.add(scroll);

publicvoiddelete(){//删除某个课程信息

Stringxxkch=null;

introw=-1;

row=sTable.getSelectedRow();

if(row==-1){//判断要删除的信息是否被选中

JOptionPane.showMessageDialog(null,"

请选择要删除的记录!

}else{

if(!

bstd){//判断选择的是不是查询后的结果

intj1=0;

rs=stmt.executeQuery("

while(rs.next()&

&

j1<

=row){//找出当前被选中的记录在数据库中的对应

kch=rs.getString("

kcm=rs.getString("

xxkch=rs.getString("

j1++;

}

inti1=0;

//删除数据库中当前被选中的记录

JOptionPane.showMessageDialog(null,"

记录删除成功!

this.dispose();

newCM("

}else{

+mkch+"

public

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2