JAVA连接sqlserver学生成绩管理系统.docx
- 文档编号:25340458
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:30
- 大小:74.31KB
JAVA连接sqlserver学生成绩管理系统.docx
《JAVA连接sqlserver学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《JAVA连接sqlserver学生成绩管理系统.docx(30页珍藏版)》请在冰豆网上搜索。
JAVA连接sqlserver学生成绩管理系统
《学生成绩管理系统》课程设计
实验报告
题目学生成绩管理系统
学院
专业
班级
同组成员
编写日期
一、
课程设计目的
做这个小的学生成绩管理系统来加深对JAVA所学知识的巩固,以及学习JAVA与数据库的连接和JAVA的GUI图形界面。
二、需求分析
此系统实现如下系统功能:
(1)使得学生的成绩管理工作更加清晰、条理化、自动化。
(2)通过用户名和密码登录系统,查询学生基本资料,学生所学课程成绩,等功能。
容易地完成学生信息的查询操作。
(3)设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。
三、系统模块设计
此系统可分为2个模块,教师管理模块和学生操作模块,期中教师又包括学生信息输入与学生成绩录入等;学生模块则包括学生成绩查询与学生信息录入查询操作等。
系统流程图:
四、数据库
1、学生表:
Field
Type
Null
Key
Comment
ID
Varchar(10)
——
PRI
用户名(学号)
Pwd
Varchar(10)
——
——
密码
Name
Char(10)
——
——
姓名
Sex
Char(10)
——
——
性别
Class
Char(10)
——
——
班级
Collage
Char(10)
——
——
学院
2、教师表
Field
Type
Null
Key
Comment
ID
Varchar(10)
——
PRI
用户名
Pwd
Varchar(10)
——
——
密码
3、成绩表
Field
Type
Null
Key
Comment
Sid
char(10)
——
PRI
学号
计算机网络
char(10)
——
——
课程
Linux操作系统
char(10)
——
——
课程
计算机专业英语
char(10)
——
——
课程
计算机信息技术
char(10)
——
——
课程
Java程序设计
char(10)
——
——
课程
数据库应用实训
char(10)
——
——
课程
高等数学
char(10)
——
——
课程
XML
char(10)
——
——
课程
五、E-R图
附录:
源代码
1、用户登录界面
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.sql.*;
publicclassSystemsextendsJFrameimplementsActionListener
{
staticSystemsss;
JPanelpanel=newJPanel();
JLabellabel1=newJLabel("输入姓名:
");
JTextFieldname=newJTextField();
JLabellabel2=newJLabel("密码:
");
JPasswordFieldpwd=newJPasswordField();
JButtonEnter=newJButton("登录");
JButtonExit=newJButton("退出");
Stringurl="E:
\\mysql\\TM1.jpg";
ButtonGroupbgp=newButtonGroup();
JRadioButtonstu=newJRadioButton("学生");
JRadioButtontch=newJRadioButton("教师");
publicSystems()
{
super("登录系统");
this.setResizable(false);
JLabelimg=newJLabel(newImageIcon(url));
img.setBounds(0,0,500,125);
panel.add(img);
stu.setBounds(165,210,70,20);
tch.setBounds(265,210,70,20);
bgp.add(stu);
bgp.add(tch);
panel.add(stu);
panel.add(tch);
Enter.setBounds(150,250,80,20);
Exit.setBounds(270,250,80,20);
Enter.addActionListener(this);
Exit.addActionListener(this);
panel.add(Enter);
panel.add(Exit);
panel.setLayout(null);
this.add(panel);
label1.setBounds(135,130,100,25);
panel.add(label1);
name.setBounds(265,130,100,25);
panel.add(name);
label2.setBounds(135,165,100,25);
panel.add(label2);
pwd.setBounds(265,165,100,25);
panel.add(pwd);
this.setBounds(100,100,500,350);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==Enter)
{
Stringusername,password;
username=name.getText();
password=newString(pwd.getPassword());
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptionce)
{
JOptionPane.showMessageDialog(ss,ce.getMessage());
}
if(stu.isSelected())
{
try
{
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
shujuku","sa","");
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("select*fromSTU");
while(rs.next())
{
if(rs.getString("ID").equals(username))
if((rs.getString("Pwd").equals(password)))
{
JOptionPane.showMessageDialog(ss,"登陆成功");
Studentsstu=newStudents();
}
else
{
JOptionPane.showMessageDialog(ss,"登录失败");
}
}
rs.close();
stmt.close();
}
catch(SQLExceptionse)
{
JOptionPane.showMessageDialog(ss,se.getMessage());
}
}
elseif(tch.isSelected())
{
try
{
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
shujuku","sa","");
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("select*fromTCH");
while(rs.next())
{
if(rs.getString("ID").equals(username))
if((rs.getString("Pwd").equals(password)))
{
JOptionPane.showMessageDialog(ss,"登陆成功");
Teacherstch=newTeachers();
}
else
{
JOptionPane.showMessageDialog(ss,"登录失败");
}
}
}
catch(SQLExceptionse)
{
JOptionPane.showMessageDialog(ss,se.getMessage());
}
}
}
else
{
System.exit(0);
}
}
publicstaticvoidmain(String[]args)
{
Systemssys=newSystems();
}
}
2、学生登录界面:
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
publicclassStudentsextendsJFrameimplementsActionListener
{
JMenuBarjmb=newJMenuBar();
JMenuMessage=newJMenu("信息");
JMenuScore=newJMenu("成绩");
JMenuItemItem1=newJMenuItem("插入");
JMenuItemItem2=newJMenuItem("查询");
JMenuItemItem3=newJMenuItem("查询");
publicStudents()
{
super("学生界面");
this.setSize(500,400);
this.setVisible(true);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setJMenuBar(jmb);
jmb.add(Message);
jmb.add(Score);
Message.add(Item1);
Message.add(Item2);
Score.add(Item3);
Item1.addActionListener(this);
Item2.addActionListener(this);
Item3.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==Item1)
{
AddMsgad=newAddMsg();
}
elseif(e.getSource()==Item2)
{
Serchser=newSerch();
}
else
{
Scoreso=newScore();
}
}
publicstaticvoidmain(String[]args)
{
Studentsstu=newStudents();
}
}
3、教师登录界面:
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
publicclassTeachersextendsJFrameimplementsActionListener
{
JMenuBarbar=newJMenuBar();
JMenumenu1=newJMenu("信息");
JMenumenu2=newJMenu("成绩");
JMenuItemitem1=newJMenuItem("录入信息");
JMenuItemitem2=newJMenuItem("录入成绩");
JPaneljpl=newJPanel();
publicTeachers()
{
super("教师界面");
this.setSize(500,300);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setJMenuBar(bar);
this.add(jpl);
jpl.setLayout(null);
bar.add(menu1);
bar.add(menu2);
menu1.add(item1);
menu2.add(item2);
item1.addActionListener(this);
item2.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==item1)
{
AddMsgmsg=newAddMsg();
}
else
{
Addscoreas=newAddscore();
}
}
publicstaticvoidmain(String[]args)
{
Teacherstch=newTeachers();
}
}
4、学生用户添加界面:
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.sql.*;
publicclassAddMsgextendsJFrameimplementsActionListener
{
staticAddMsgs;
/*添加学生信息控件*/
JPaneljpl=newJPanel();
JLabellabel1=newJLabel("添加基本信息",JLabel.CENTER);
JLabellabel2=newJLabel("学号:
",JLabel.CENTER);
JLabellabel3=newJLabel("姓名:
",JLabel.CENTER);
JLabellabel4=newJLabel("性别:
",JLabel.CENTER);
JLabellabel5=newJLabel("班级:
",JLabel.CENTER);
JLabellabel6=newJLabel("学院:
",JLabel.CENTER);
JTextFieldnum=newJTextField
(2);
JTextFieldnam=newJTextField(4);
ButtonGroupbgp=newButtonGroup();
JRadioButtonman=newJRadioButton("男");
JRadioButtonwomen=newJRadioButton("女");
JTextFieldclas=newJTextField();
JTextFieldscl=newJTextField();
JButtonreset=newJButton("重置");
JButtonaddmsg=newJButton("添加");
publicAddMsg()
{
super("添加学生信息");
this.setResizable(false);
this.setSize(500,400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(jpl);
jpl.setLayout(null);
addmsg.addActionListener(this);
reset.addActionListener(this);
/*插入面板*/
label1.setBounds(100,20,300,20);
jpl.add(label1);
label2.setBounds(100,50,70,20);
jpl.add(label2);
num.setBounds(190,50,140,20);
jpl.add(num);
label3.setBounds(100,90,70,20);
jpl.add(label3);
nam.setBounds(190,90,140,20);
jpl.add(nam);
label4.setBounds(100,130,70,20);
jpl.add(label4);
man.setBounds(190,130,60,20);
women.setBounds(270,130,60,20);
jpl.add(man);
jpl.add(women);
bgp.add(man);
bgp.add(women);
label5.setBounds(100,170,70,20);
jpl.add(label5);
clas.setBounds(190,170,140,20);
jpl.add(clas);
label6.setBounds(100,210,70,20);
jpl.add(label6);
scl.setBounds(190,210,140,20);
jpl.add(scl);
reset.setBounds(120,250,90,20);
addmsg.setBounds(240,250,90,20);
jpl.add(reset);
jpl.add(addmsg);
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==addmsg)
{
Stringsex;
if(man.isSelected())
{
sex="男";
}
else
{
sex="女";
}
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptionce)
{
JOptionPane.showMessageDialog(s,ce.getMessage());
}
try
{
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
shujuku","sa","");
Statementstmt=con.createStatement();
Stringstr="insertintoSTU(ID,Pwd,Name,Sex,Class,Collage)values('"+num.getText()+"','"+"123','"+nam.getText()+"','"+sex+"','"+clas.getText()+"','"+scl.getText()+"')";
//inta=stmt.executeUpdate("insertintoSTU(ID,Pwd,Name,Sex,Class,Collage)values('"+num.getText()+"','"+"12345678','"+nam.getText()+"','"+sex+"','"+clas.getText()+"','"+scl.getText()+"')");
System.out.println(str);
inta=stmt.executeUpdate(str);
if(a==1)
{
JOptionPane.showMessageDialog(s,"已成功添加");
}
else
{
JOptionPane.showMessageDialog(s,"添加失败");
}
stmt.close();
}
catch(SQLExceptionse)
{
JOptionPane.showMessageDialog(s,se.getMessage());
}
}
else
{
num.setText("");
nam.setText("");
clas.setText("");
scl.setText("");
num.requestFocus();
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 连接 sqlserver 学生 成绩管理系统