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

上传人:b****2 文档编号:3485592 上传时间:2023-05-05 格式:DOCX 页数:20 大小:72.36KB
下载 相关 举报
JAVA程序设计报告学生信息管理系统.docx_第1页
第1页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第2页
第2页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第3页
第3页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第4页
第4页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第5页
第5页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第6页
第6页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第7页
第7页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第8页
第8页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第9页
第9页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第10页
第10页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第11页
第11页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第12页
第12页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第13页
第13页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第14页
第14页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第15页
第15页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第16页
第16页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第17页
第17页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第18页
第18页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第19页
第19页 / 共20页
JAVA程序设计报告学生信息管理系统.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

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

JAVA程序设计报告

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

辅导老师:

***

系别:

计算机系

专业:

软件技术

学号:

*******

姓名:

***

日期:

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

publicstaticConnectioncn;

publicstaticStatementst;publicstaticResultSetrs;

publicstaticbooleanjoinDB()

publicstaticbooleanexecuteSQL(StringsqlString)

publicstaticbooleanquery(StringsqlString)

代码如下:

importjava.sql.*;//引入包

publicclassdatabase{

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

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

publicstaticResultSetrs;//定义一个数据集

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

booleanjoinFlag;

try{

joinFlag=true;

//通过调用java.lang中的Class类的forName方法来实现JDBC—ODBC桥接器

cn=DriverManager.getConnection("jdbc:

odbc:

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

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

st=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_READ_ONLY);

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

returnjoinFlag;

}catch(SQLExceptionsqlEx){

joinFlag=false;

returnjoinFlag;

}catch(ClassNotFoundExceptionnotfoundEX){

joinFlag=false;

returnjoinFlag;

}

}

publicstaticbooleanexecuteSQL(StringsqlString){

booleanexecuteFlag;

try{

st.execute(sqlString);

executeFlag=true;

}catch(Exceptione){

executeFlag=false;

}

returnexecuteFlag;

}

publicstaticbooleanquery(StringsqlString){

try{

rs=null;

rs=st.executeQuery(sqlString);

}catch(ExceptionEx){

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{

//如果指向记录集的在第一条记录的前面

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

//关闭数据库连接

newMain();//主窗体

}

else{

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

","",JOptionPane.ERROR_MESSAGE);

}

}catch(Exceptionex){

}

}

else{

}

}

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

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()+"'";

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)){

//依次将用户名读出

tf.addItem(name);

}

}

}

catch(Exceptione){}

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

b1.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

Stringname=""+tf.getSelectedItem();

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

try{

if(database.query(sql)){

Stringps1=pas1.getText();

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){

}

}

});

(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)){

//记录集若有记录则通过循环将数据依次读出

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)){

Stringpas=pas3.getText();

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)){

//更新JcomboBox条目

cbUserName.addItem(name1);

}}

}}

else{

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

");

}}

}

catch(Exceptionel){

}}

});

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)){

jnum.addItem(name);

}

}

}

catch(Exceptionea){}

添加学生成绩信息“添加“按钮代码:

butOk.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

Stringname=""+jnum.getSelectedItem();

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

try{

if(database.executeSQL(sql)){

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

");

}

}

catch(Exceptionea){}

}

});

(2)信息查看

分为查看学生基本信息和查看学生成绩信息,因为代码和窗体大致相识,进取其一讲述

下面是他的属性

文件名称

控件名称

viewstud.java

JtextArea:

te=newJTextArea();

代码为:

classviewstudextendsJInternalFrame

{viewstud()

{super("查看学生基本信息");//窗体显示得名称

Containercon=getContentPane();//创建JinternalFrame的容器对象

con.setLayout(newBorderLayout());//设定窗体布局

JTextAreate=newJTextArea();

JScrollPanecroll=newJScrollPane(te);//加载垂直水平滚动条

con.add(croll,BorderLayout.CENTER);

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

Stringsql="SELECT*FROMstud";

try{if(database.query(sql)){

{

te.append("\n");

}

}

}

catch(SQLExceptionex)

this.setClosable(true);//关闭窗口可用

setVisible(true);//窗体可见

setBounds(20,70,600,350);

}

}

(3)信息修改

信息修改分为学生基本信息修改,学生成绩信息修改,由于原理相似就以修改学生基本信

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

当前位置:首页 > 工作范文 > 行政公文

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

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