JAVA程序设计报告学生信息管理系统.docx

上传人:b****5 文档编号:29701515 上传时间:2023-07-26 格式:DOCX 页数:26 大小:50.34KB
下载 相关 举报
JAVA程序设计报告学生信息管理系统.docx_第1页
第1页 / 共26页
JAVA程序设计报告学生信息管理系统.docx_第2页
第2页 / 共26页
JAVA程序设计报告学生信息管理系统.docx_第3页
第3页 / 共26页
JAVA程序设计报告学生信息管理系统.docx_第4页
第4页 / 共26页
JAVA程序设计报告学生信息管理系统.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

JAVA程序设计报告学生信息管理系统.docx

《JAVA程序设计报告学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计报告学生信息管理系统.docx(26页珍藏版)》请在冰豆网上搜索。

JAVA程序设计报告学生信息管理系统.docx

JAVA程序设计报告学生信息管理系统

 

JAVA程序设计报告

----------------------------------------------------------------------------------------------------------------------------------------学生信息管理系统

 

辅导老师:

松敏

系别:

计算机系

专业:

软件技术

学号:

0640836

姓名:

夏中成

日期:

2008-6-13

 

  目录

 

一需求分析。

3

二功能分析。

3

三模块设计。

3

四软件设计分析。

3

(一)数据库设计。

3

(二)模块及窗体设计。

3

1数据库模块设计。

3

2用户登录识别模块。

5

3用户信息管理模块。

6

(1)密码修改。

6

(2)用户信息添加和删除。

8

4学生息管理模块。

10

(1)添加信息。

10

(2)信息查看。

11

(3)信息修改。

12

(4)删除信息。

14

5系统管理模块。

15

6主窗体菜单设计。

15

五总结。

15

参考资料:

.......................................................15

 

一需求分析

本系统的主要目的就是实现学生信息管理,使学生信息管理工作更加容易,从而提高工作效率,降低管理成本.

系统中需要对拥护身份进行管理,采取登陆进入系统的形式.

二功能分析

1用户登录信息管理

2用户信息管理

3学生信息管理

4系统管理

系统首页

用户

登陆

信息

管理

用户信息管理

学生信息管理

通过

身份

请求

添加

删除

用户

修改

密码

添加

查看

修改

删除

系统管理

重新

登陆

退出登陆

 

三模块设计

1数据库设计模块

2用户登录识别模块

3用户信息管理模块

4学生息管理模块

5系统管理模块

四软件设计分析

(一)数据库设计

数据库名称:

student

表名:

user,stud,grade

表user:

存放登陆用户的用户名和密码

表stud:

存放学生基本信息

表grade:

存放学生成绩信息

(二)模块及窗体设计

1数据库模块设计

将数据库的连接包装在一个database类中,以便其他模块能够轻松调用,避免每次重写数据库连接代码。

下表是他的基本属性

文件名

成员变量

成员方法

database.java

publicstaticConnection;

publicstaticStatementst;publicstaticResultSetrs;

publicstaticbooleanjoinDB()

publicstaticbooleanexecuteSQL(StringsqlString)

publicstaticbooleanquery(StringsqlString)

代码如下:

importjava.sql.*;//引入包

publicclassdatabase{

publicstaticConnection;//定义一个连接对象

publicstaticStatementst;//定义一个SQL语句对象

publicstaticResultSetrs;//定义一个数据集

publicstaticbooleanjoinDB(){//用来判断是否连接成功

booleanjoinFlag;

try{

joinFlag=true;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//通过调用java.lang中的Class类的forName方法来实现JDBC—ODBC桥接器

=DriverManager.getConnection("jdbc:

odbc:

student","sa","");//创建一个连接对象

.setCatalog("student");//加载数据库

System.out.println("数据库连接成功");

st=.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_READ_ONLY);

//返回一个可滚动的结果集,数据库变化时结果集跟着变化;不能用结果集更新数据库中的表

returnjoinFlag;

}catch(SQLExceptionsqlEx){

System.out.println(sqlEx.getMessage());

joinFlag=false;

returnjoinFlag;

}catch(ClassNotFoundExceptionnotfoundEX){

System.out.println(notfoundEX.getMessage());

joinFlag=false;

returnjoinFlag;

}

}

publicstaticbooleanexecuteSQL(StringsqlString){

booleanexecuteFlag;

try{

st.execute(sqlString);

executeFlag=true;

}catch(Exceptione){

executeFlag=false;

System.out.println("sqlexception:

"+e.getMessage());

}

returnexecuteFlag;

}

publicstaticbooleanquery(StringsqlString){

try{

rs=null;

rs=st.executeQuery(sqlString);

}catch(ExceptionEx){

System.out.println("sqlexception:

"+Ex);

returnfalse;

}

returntrue;

}

}

2用户登录识别模块

代码封装在类Land里,所用到的信息保存在表user里

下表是他的基本属性

文件名

控件

成员方法

Land.java

JLabel:

labelname=newJLabel("用户名")

labelmima=newJLabel("密码")

Jbutton:

btenter=newJButton("确定");

btcancel=newJButton("清空");

privatevoidJudge(StringsqlString)

判断用户名和密码是否正确的成员方法代码:

privatevoidJudge(StringsqlString){

if(database.joinDB()){//如果数据库连接成功

if(database.query(sqlString))//如果SQL语句执行成功

try{

if(database.rs.isBeforeFirst()){//如果指向记录集的在第一条记录的前面

System.out.println("密码正确");

jf.setVisible(false);//窗体不可见

database..close();//关闭数据库连接

newMain();//主窗体

}

else{

System.out.println("错误");

newJOptionPane().showMessageDialog(null,"用户名或密码错误!

","",JOptionPane.ERROR_MESSAGE);

}

}catch(Exceptionex){

System.out.println(ex.getMessage());

}

}

else{

System.out.println("连接数据库不成功!

!

!

");

}

}

按钮“确定”的监听事件代码:

publicvoidactionPerformed(ActionEvente){

if(textname.getText().equals("")){

newJOptionPane().showMessageDialog(null,"用户名不能为空!

");

}

elseif(textmima.getText().equals("")){

newJOptionPane().showMessageDialog(null,"密码不能为空!

");

}

else{

Stringsql="select*fromuserwhereuser_id='"+textname.getText()+"'andpassword='"+textmima.getText()+"'";

System.out.println(sql);

Judge(sql);//调用成员方法,判断是否用户名和密码正确

}}

3用户信息管理模块

(1)密码修改

用户名将自动从表user里检索出来,供用户选择

以下是它的基本属性

文件名

控件名称

 

xgmima.java

Jlabel:

lbe2、lbe3、lbe4、lbe5

JcomboBox:

tf

JpasswordField:

pas1、pas2、pas3

Jbutton:

b1=newJButton("确定");

b2=newJButton("清空");

将所有用用户名读出来

database.joinDB();//连接数据库

Stringsql="select*fromuser";

try{

if(database.query(sql)){

while(database.rs.next()){//依次将用户名读出

Stringname=database.rs.getString("user_id");

tf.addItem(name);

}

}

}

catch(Exceptione){}

确定“按钮”的监听事件代码:

b1.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

Stringname=""+tf.getSelectedItem();

System.out.println(name);

Stringsql="select*fromuserwhereuser_id='"+name+"'";

System.out.println(sql);

try{

if(database.query(sql)){

database.rs.next();

Stringps1=pas1.getText();

Stringpassword=database.rs.getString("Password");

if(ps1.equals(password)){

if(pas2.getText().equals(pas3.getText())){

Stringsupdate="updateusersetpassword='"+pas3.getText()+"'whereuser_id='"+name+"'";

database.executeSQL(supdate);

newJOptionPane().showMessageDialog(null,"密码更改成功!

");

}

else{

newJOptionPane().showMessageDialog(null,"两次密码不同!

");

}

}

else{

newJOptionPane().showMessageDialog(null,"旧密码不正确!

");

}

}

}

catch(Exceptionel){

System.out.println(el);

}

}

});

(2)用户信息添加和删除

上半部分用来添加用户,下半部分用来删除用户

基本属性如下

文件名

控件名

 

AddDeleteUser.java

privateJButtonbutACancel,butDCancel,butDelete,butOk;

privateJComboBoxcbUserName;

privateJLabeljLabel1,jLabel2,jLabel3,jLabel4,jLabel5;

privateJPasswordFieldpas1,pas2,pas3;

privateJTextFieldtxtname;

//将所有用用户名读出来

database.joinDB();

Stringsql="select*fromuser";

try{

if(database.query(sql)){

while(database.rs.next()){//记录集若有记录则通过循环将数据依次读出

Stringname=database.rs.getString("user_id");

cbUserName.addItem(name);

}

}

}

catch(Exceptione){}

//为添加按钮加事件-----------------------------------------

butOk.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

if(txtname.getText().equals("")){//判断是否为空

newJOptionPane().showMessageDialog(null,"用户名不能为空!

");

}

elseif(pas1.getText().equals("")){

newJOptionPane().showMessageDialog(null,"密码不能为空!

");

}

elseif(pas1.getText().equals(pas2.getText())){

Stringsql="insertintouservalues('"+txtname.getText()+"','"+pas1.getText()+"')";

try{

if(database.executeSQL(sql)){//若SQL执行成功

newJOptionPane().showMessageDialog(null,"添加成功!

");

cbUserName.addItem(txtname.getText());

}

}

catch(Exceptionea){}

}

}

});

删除按钮监听事件代码

butDelete.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

Stringname=""+cbUserName.getSelectedItem();//得到用户名

Stringsql="select*fromuserwhereuser_id='"+name+"'";

try{

if(database.query(sql)){

database.rs.next();

Stringpas=pas3.getText();

Stringpassword=database.rs.getString("Password");

System.out.println(password);

if(pas.equals(password)){//比较密码是否与记录集里对应一致

Stringsdelete="deletefromuserwhereuser_id='"+name+"'";

if(database.executeSQL(sdelete)){

newJOptionPane().showMessageDialog(null,"删除成功!

");

pas3.setText("");

cbUserName.removeAllItems();//将删除的条目从JcomboBox中删除

Stringsql1="select*fromuser";

if(database.query(sql1)){

while(database.rs.next()){//更新JcomboBox条目

Stringname1=database.rs.getString("user_id");

cbUserName.addItem(name1);

}}

}}

else{

newJOptionPane().showMessageDialog(null,"密码不正确!

");

}}

}

catch(Exceptionel){

System.out.println(el);

}}

});

4学生息管理模块

(1)添加信息

该添加是按照先添加学生信息,再添加学生成绩的次序进行的当学生信息添加完后,添加学生成绩窗口的学号会自动将学生信息里没有添加过成绩的成绩显示出来

添加学生信息中的“添加“按钮代码:

butOk.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

if(jtf1.getText().equals("")){

newJOptionPane().showMessageDialog(null,"学号不能为空");

}

elseif(jtf2.getText().equals("")){

newJOptionPane().showMessageDialog(null,"姓名不能为空");

}

elseif(jtf3.getText().equals("")){

newJOptionPane().showMessageDialog(null,"性别不能为空");

}

else{

Stringsql="insertintostudvalues('"+jtf1.getText()+"','"+jtf2.getText()+"','"+jtf3.getText()+"','"+jtf4.getText()+"','"+jtf5.getText()+"','"+jtf6.getText()+"','"+jtf7.getText()+"')";

try{

if(database.executeSQL(sql)){

newJOptionPane().showMessageDialog(null,"添加成功!

");

}

}

catch(Exceptionea){}

}

}

});

添加学生成绩信息读取学号信息

database.joinDB();

Stringsql="select学号fromstudwhere学号NOTIN(select学号fromgrade)";

try{

if(database.query(sql)){

while(database.rs.next()){

Stringname=database.rs.getString("学号");

jnum.addItem(name);

}

}

}

catch(Exceptionea){}

添加学生成绩信息“添加“

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

当前位置:首页 > 初中教育 > 中考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1