基于java的学生学籍管理系统开发含源文件Word格式文档下载.docx
《基于java的学生学籍管理系统开发含源文件Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于java的学生学籍管理系统开发含源文件Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
![基于java的学生学籍管理系统开发含源文件Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/26/4d2a86a4-a0b3-4b88-bc33-6ab2a103aa6f/4d2a86a4-a0b3-4b88-bc33-6ab2a103aa6f1.gif)
修改学籍信息
删除学籍信息
工具栏
学生档案
学生成绩
学生基本资料
考勤系统
奖惩系统
计算器
Word
Excel
图2-1各模块之间的相互关系
2.2数据表分析说明
表2-1管理员数据列表
username
password
chen
123456
hai
111222
yu
101123
表2-2学生档案数据列表
stuid
stuname
dayta
localtion
101
张三
2011-01-02
档案室五
102
张刚
2011-01-01
档案室四
103
王强
104
陈翔
105
晓莉
106
李明
表2-3学生成绩数据列表
name
class
yuwen
shuxue
yingyu
zhengzhi
张三
软工一班
96
89
85
95
张刚
78
80
王强
98
75
97
晓莉
93
69
87
94
82
65
表2-4学生考勤数据列表
late
notabsent
5
3
8
6
2
1
表2-5学生奖惩数据列表
Rz
Rm
三好学生
3000
5000
2000
1000
表2-6学生基本数据列表
sex
age
cell
男
20
2520162
2454533
22
5434534
21
5433835
女
19
8645456
4568465
3详细设计与实现
3.1登录界面
图3-1登录界面效果图
数据库的链接以及与数据库中账号密码的匹配:
JDBC_connconn=newJDBC_conn();
Connectioncon=conn.JDBC_CONN();
try{
Statementst=con.createStatement();
Stringname=tf1.getText();
Stringpwdstr=tf2.getText();
//SQL语句
Stringsql="
select*fromjavadengluwhereusername='
"
+name+"
'
andpassword='
+pwdstr+"
;
ResultSetrs=st.executeQuery(sql);
//返回查询结果
if(rs.next())
{
Mainframeframe=newMainframe();
frame.setVisible(true);
}
}catch(SQLExceptione1){
e1.printStackTrace();
}
3.2主界面
图3-2主界面效果图
主面板结构如图所示:
图3-3登录界面效果图结构
topPanel(工具栏面板)
Add:
buttonpanelBorderLayout.center
leftPanel:
DefaultMutableTreeNode;
创建树节点
DefaultMutable;
创建树模型对象
Tree;
树DefaultTreeCellRenderer;
叶子节点;
以及学籍系统信息的相关操作
RightPanel;
显示点击事件后显示的面板
创建树节点(以档案管理为例):
DefaultMutableTreeNoderoot=newDefaultMutableTreeNode("
root"
);
DefaultMutableTreeNodepersonnelNode=newDefaultMutableTreeNode(
"
人事管理"
personnelNode.add(newDefaultMutableTreeNode("
档案管理"
));
考勤管理"
奖惩管理"
root.add(personnelNode);
创建树的模型对象以及树:
DefaultTreeModeltreeModel=newDefaultTreeModel(root);
//通过树结点对象创建树模型对象
tree=newJTree(treeModel);
tree.setBackground(Color.WHITE);
tree.setRootVisible(false);
//设置不显示树的根结点,默认为显示,即true
tree.setRowHeight(24);
//设置各结点的高度为27像素
创建叶子节点:
DefaultTreeCellRendererrenderer=newDefaultTreeCellRenderer();
//创建一个树的绘制对象
//renderer.setLeafIcon(null);
//设置叶子结点不采用图标
renderer.setClosedIcon(null);
//设置结点折叠时不采用图标
renderer.setOpenIcon(null);
//设置结点展开时不采用图标
tree.setCellRenderer(renderer);
//将树的绘制对象设置到树中
intcount=root.getChildCount();
//获得一级结点的数量
for(inti=0;
i<
count;
i++){//遍历树的一级结点
DefaultMutableTreeNodenode=(DefaultMutableTreeNode)root
.getChildAt(i);
//获得指定索引位置的一级结点对象
TreePathpath=newTreePath(node.getPath());
//获得结点对象的路径
tree.expandPath(path);
//展开该结点
}
捕获树的选取事件:
tree.addTreeSelectionListener(newTreeSelectionListener()
{
3.3数据库的链接
packagecom.pdsu.chen.jdbc;
importjava.io.IOException;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
publicclassJDBC_conn{
publicConnectionJDBC_CONN(){
try{
Class.forName("
com.microsoft.jdbc.sqlserver.SQLServerDriver"
}
catch(ClassNotFoundExceptione2){
e2.printStackTrace();
Connectionconn=null;
try{
Stringurl="
jdbc:
microsoft:
sqlserver:
//localhost:
1433;
DatabaseName=userchen"
Stringname="
sa"
Stringpwd="
conn=DriverManager.getConnection(url,name,pwd);
//stmt=conn.createStatement();
if(conn!
=null){
System.out.println("
连接成功"
}catch(Exceptione){
e.printStackTrace();
returnconn;
3.4toppanel面板按钮操作
topPanel面板上的按钮操作(单个以考勤系统为例):
图3-3toppanel效果图
单击考勤系统按钮,
finalJButtontimecardShortcutKeyButton=newJButton();
resource=this.getClass().getResource("
timecard.JPG"
icon=newImageIcon(resource);
timecardShortcutKeyButton.setIcon(icon);
timecardShortcutKeyButton.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
try{
RecordTimePanelp1=newRecordTimePanel();
p1.setVisible(true);
SwingUtilities.updateComponentTreeUI(rightPanel);
}catch(Exceptione1){
JOptionPane.showMessageDialog(null,"
很抱歉,打开失败!
"
友情提示"
JOptionPane.INFORMATION_MESSAGE);
return;
}
});
btnQuery.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente1){
JDBC_connconn=newJDBC_conn();
Connectioncon=conn.JDBC_CONN();
try{
Stringsql="
select*fromRecordtime"
ResultSetrs=st.executeQuery(sql);
while(rs.next())
{
Stringsid=rs.getString
(1);
Stringname=rs.getString
(2);
Stringdata=rs.getString(3);
Stringlocal=rs.getString(4);
txtarea.append("
\n"
+sid+name+data+local);
}
con.close();
}catch(SQLExceptione11){
e11.printStackTrace();
});
btnModify.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
JDBC_connconn=newJDBC_conn();
Stringidstr=txtName.getText();
Stringsql="
select*fromRecordTimewherestuid='
+idstr+"
StringN=rs.getString
(2);
StringD=rs.getString(3);
StringL=rs.getString(4);
JTextAreajta1=newJTextArea();
jta1.setText("
学号:
+rs.getString("
stuid"
)+"
姓名:
+N+"
迟到:
+D+"
旷课:
+L);
jta1.setEditable(false);
JOptionPane.showMessageDialog(null,jta1);
else{
JOptionPane.showMessageDialog(null,"
很抱歉,系统无记录!
"
return;
}catch(SQLExceptione1){
e1.printStackTrace();
btnCancel.addActionListener(newActionListener(){
txtName.setText(null);
txtarea.setText(null);
3.5树节点上的功能操作
图3-4修改学生成绩信息效果图
JDBC_connconn=newJDBC_conn();
Stringidstr=txtid.getText();
Stringsql="
select*fromRecordGwherestuid='
ResultSetrs=st.executeQuery(sql);
StringN=rs.getString
(2);
StringM=rs.getString(5);
StringO=rs.getString(6);
StringP=rs.getString(7);
txtchinese.setText(L);
txtmath.setText(M);
txtenglish.setText(O);
txtpolity.setText(P);
else{
JOptionPane.showMessageDialog(null,"
"
btn3.addActionListener(newActionListener(){
Connectioncon=conn.JDBC_CONN();
try{
Statementst=con.createStatement();
Stringidstr=txtid.getText();
Stringsql="
st.executeUpdate("
UpdateRecordGsetyuwen="
+txtchinese.getText()+"
shuxue="
+txtmath.getText()+"
tingyu="
+txtenglish.getText()+"
zhengzhi="
+txtpolity.getText()+"
wherestuid='
+txtid.getText()+"
}catch(Exceptione3){}
txtid.setText(null);
txtchinese.setText(null);
txtmath.setText(null);
txtpolity.setText(null);
txtenglish.setText(null);
3.6其他附属图
图3-5编程结构效果图
4项目使用说明
4.1打包
4.2安装使用系统
1.附加数据库SQLServer2000
(1)将文件夹中的扩展名为chenuser.MDF和chenuser.LDF的两个文件拷贝到SQLServer安装路径下的Data文件夹中。
(2)打开SQLServer2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项。
(3)将弹出“附加数据库”对话框,在该对话框中单击【
】按钮,选择所要附加数据库的chenuser.MDF文件,单击【确定】按钮,即可完成数据库的附加操作。
2.安装
打开Myeclipse、file、import;
导入相应的文件以及数据库驱动即可运行
5结论
通过做该项目,主要掌握以下四项技术:
并对这四项技术能够熟练运用。
另外,补充自己对创建树,创建节点这方面知识的缺乏,以及对数据库的各项操作指令能够灵活运用。