Java学生信息管理课程设计Word文件下载.docx
- 文档编号:16704166
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:24
- 大小:179.18KB
Java学生信息管理课程设计Word文件下载.docx
《Java学生信息管理课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《Java学生信息管理课程设计Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 学生 信息管理 课程设计