Java学生信息管理课程设计Word文件下载.docx

上传人:b****3 文档编号:16704166 上传时间:2022-11-25 格式:DOCX 页数:24 大小:179.18KB
下载 相关 举报
Java学生信息管理课程设计Word文件下载.docx_第1页
第1页 / 共24页
Java学生信息管理课程设计Word文件下载.docx_第2页
第2页 / 共24页
Java学生信息管理课程设计Word文件下载.docx_第3页
第3页 / 共24页
Java学生信息管理课程设计Word文件下载.docx_第4页
第4页 / 共24页
Java学生信息管理课程设计Word文件下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

Java学生信息管理课程设计Word文件下载.docx

《Java学生信息管理课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《Java学生信息管理课程设计Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。

Java学生信息管理课程设计Word文件下载.docx

PublicvoidexecuteUpdate();

//更新数据

3.1.2类名:

StuBean

其中的插入、删除和修改等操作;

ResultSetrs=null;

//储存sql语句

publicvoidstuAdd(Stringname,Stringsex,Stringbirth,..Stringcollege);

//添加学生信息

publicvoidStuModify(Stringnum,Stringname,...,Stringcollege);

//修改学生信息

publicvoidstuDel(Stringnum);

//删除学生信息\

publicvoidstuAllSearch(Stringxh,Stringh1,Stringh2);

//根据指定的学号范围查询学生信息

publicvoidactionPerformed(ActionEvente)//实现各监听器发生的事

3.1.3类名:

StuMain

创建用户访问数据库的主窗口界面类

JFrame

ActionListener类

JMenuBarmainMenu;

JMenumenuSystem;

//建立系统管理菜单组

JMenumenuStu;

JMenuItemitemAddS;

JMenuItemitemEditS;

JMenuItemDeleteS;

//建立学生管理菜单组

publicvoidactionPerformed(ActionEvente);

//实现各监听器发生的事

StuSearchSnum

进行指定条件的查询

(4)成员变量说明:

Containerc;

JLabeljLabel1,jLabel2;

JTextFieldsFrom,sTo;

//设置按钮

3.2程序流程图

3.2.1数据库表格建立程序流程图

3.2.2学生信息的插入、删除和修改操作的事件处理器程序流程图

 

4详细设计

4.1创建连接数据源类实现

为了使java应用程序结构清晰,功能分明,在connDB文件夹下创建一个声明数据库操作变量,包含连接数据源stuDB方法,查询数据方法与更新数据的类DatabaseConn,其具体代码如下:

packageconnDB;

importjava.sql.*;

publicclassDatabaseConn//数据库连接

{

privateStatementstmt=null;

ResultSetrs=null;

privateConnectionconn=null;

Stringsql;

publicDatabaseConn()

{}

publicvoidOpenConn()throwsException{

try{

Class.forName("

sun.jdbc.odbc.JdbcOdbcDriver"

);

conn=DriverManager.getConnection("

jdbc:

odbc:

stuDB"

}

catch(Exceptione){System.err.println("

数据库连接:

"

+e.getMessage());

}

}

publicResultSetexecuteQuery(Stringsql){//查询数据

stmt=null;

rs=null;

stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

rs=stmt.executeQuery(sql);

}catch(SQLExceptione){System.err.println("

查询数据:

returnrs;

publicvoidexecuteUpdate(Stringsql){//更新数据

stmt.executeQuery(sql);

mit();

}catch(SQLExceptione){

System.err.println("

更新数据:

publicvoidcloseStmt(){

try

{

stmt.close();

catch(SQLExceptione)

释放对象:

publicvoidcloseConn(){

try{conn.close();

catch(SQLExceptionex){

+ex.getMessage());

publicstaticStringtoGBK(Stringstr){

if(str==null)

str="

;

else

str=newString(str.getBytes("

ISO-8859-1"

),"

GBK"

catch(Exceptione){

System.out.println(e);

returnstr;

4.2GUI类插入、删除、查询代码的实现

为了分别处理不同的问题,在student文件夹下创建了一个专门处理数据操作,临时存储数据的类StuBean,它的功能是接收从窗口输入的数据,编写SQL语句,最后创建DatabaseConn对象访问数据库。

具体实现如下:

//packagestudent;

importjava.util.*;

importjavax.swing.*;

//importconnDB.DatabaseConn;

//引入自定义类

publicclassStuBean{

ResultSetrs=null;

StringsNum;

StringsName;

StringsSex;

StringsBirth;

StringsHome;

StringsEthnic;

StringsYear;

StringsMajor;

StringsCollege;

StringcolName;

//列名

StringcolValue;

//列值

StringcolValue2;

intstuId;

//学生的新学号

//添加学生信息

publicvoidstuAdd(Stringname,Stringsex,Stringbirth,Stringhome,

Stringethnic,Stringyear,Stringmajor,Stringcollege){

DatabaseConnDB=newDatabaseConn();

this.sName=name;

this.sSex=sex;

this.sBirth=birth;

this.sHome=home;

this.sEthnic=ethnic;

this.sYear=year;

this.sMajor=major;

this.sCollege=college;

if(sName==null||sName.equals("

)){//姓名不能为空

JOptionPane.showMessageDialog(null,"

请输入学生姓名"

"

错误"

JOptionPane.ERROR_MESSAGE);

return;

}else{//根据传递的参数编写sql语句

sql="

insertintostudent(sname,ssex,sbirth,shome,sethnic,syear,smajor,scollege)values('

+sName+"

'

'

+sSex+"

+sBirth+"

+sHome+"

+sEthnic+"

+sYear+"

+sMajor+"

+sCollege+"

)"

try{DB.OpenConn();

DB.executeUpdate(sql);

JOptionPane.showMessageDialog(null,"

成功添加一条新的纪录!

}catch(Exceptione){System.out.println(e);

保存失败"

JOptionPane.ERROR_MESSAGE);

}finally{DB.closeStmt();

DB.closeConn();

//修改学生信息

publicvoidstuModify(Stringnum,Stringname,Stringsex,Stringbirth,

Stringhome,Stringethnic,Stringyear,Stringmajor,

Stringcollege){

this.sNum=num;

this.sName=name;

this.sBirth=birth;

this.sHome=home;

this.sEthnic=ethnic;

this.sYear=year;

this.sMajor=major;

)){

}else{

updatestudentsetsname='

+sName+"

ssex='

+sSex

+"

sbirth='

+sBirth+"

shome='

+sHome

sethnic='

+sEthnic+"

syear='

+sYear

smajor='

+sMajor+"

scollege='

+sCollege

wheresnum="

+Integer.parseInt(sNum)+"

成功修改一条新的纪录!

}catch(Exceptione){

System.out.println(e);

更新失败"

//删除学生信息

publicvoidstuDel(Stringnum){

this.sNum=num;

sql="

deletefromstudentwheresnum="

try{

DB.OpenConn();

DB.executeUpdate(sql);

成功删除一条新的纪录!

}catch(Exceptione){

删除失败"

}finally{DB.closeStmt();

//根据指定学号查询学生信息

publicString[]stuSearch(Stringnum){

String[]s=newString[8];

select*fromstudentwheresnum="

+Integer.parseInt(sNum)+"

try{DB.OpenConn();

rs=DB.executeQuery(sql);

if(rs.next()){

s[0]=rs.getString("

sname"

s[1]=rs.getString("

ssex"

s[2]=rs.getString("

sethnic"

s[3]=rs.getString("

shome"

s[4]=rs.getString("

syear"

s[5]=rs.getString("

smajor"

s[6]=rs.getString("

scollege"

s[7]=rs.getString("

sbirth"

}elses=null;

}catch(Exceptione){}finally{DB.closeStmt();

DB.closeConn();

returns;

//根据指定的学号范围查询学生信息

publicString[][]stuAllSearch(Stringxh,Stringh1,Stringh2){

this.colName=xh;

this.colValue=h1;

this.colValue2=h2;

String[][]sn=null;

introw=0;

inti=0;

select*fromstudentwhere"

+colName+"

between"

+colValue

+"

and"

+colValue2+"

if(rs.last()){row=rs.getRow();

if(row==0){sn=null;

}else{

sn=newString[row][9];

rs.first();

rs.previous();

while(rs.next()){

sn[i][0]=rs.getString("

snum"

sn[i][1]=rs.getString("

sn[i][2]=rs.getString("

sn[i][3]=rs.getString("

sn[i][4]=rs.getString("

sn[i][5]=rs.getString("

sn[i][6]=rs.getString("

sn[i][7]=rs.getString("

sn[i][8]=rs.getString("

i++;

}

returnsn;

publicintgetStuId(){//获得新的学号

selectmax(snum)fromstudent"

if(rs.next()){stuId=rs.getInt

(1)+1;

}elsestuId=1;

returnstuId;

//获得student表中的所有学号snum

publicString[]getAllId(){

String[]s=null;

introw=0;

selectsnumfromstudent"

if(row==0){s=null;

}else{s=newString[row];

rs.previous();

while(rs.next()){s[i]=rs.getString

(1);

i++;

}catch(Exceptione){System.out.println(e);

}finally{DB.closeStmt();

4.3数据库设计

首先利用Access创建数据库,在数据库中建立表,创建好数据源之后,利用Class.ForName(JDBC驱动程序名)加载驱动程序,利用connection语句创建一个连接数据库的连接变量,利用Statement语句创建一个SQL语句变量,用以执行SQL语句。

值得注意的是,执行SQL语句SELECT的时候,通过executeQury()方法来实现,查询所得结果存放在ResultSet对象中;

要执行插入、删除、修改记录SQL语句的时候,是通过excuteUpdate()方法来实现的,不产生ResultSet集对象

4.4异常事件处理

通过调用ClassNotFound、SQLException等异常类,对系统可能发生的异常事件进行处理,保证系统的正常运行。

//引入java.sql包

publicclassCreate{

publicstaticvoidmain(String[]args){

try{

Class.for

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

当前位置:首页 > 工程科技 > 能源化工

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

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