java可视化界面操作大数据库编程Word文档格式.docx
《java可视化界面操作大数据库编程Word文档格式.docx》由会员分享,可在线阅读,更多相关《java可视化界面操作大数据库编程Word文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
7-219
批改意见
成绩
教师签字:
实验内容:
1.参考实验资料,自拟题目,设计制作一个小型信息管理系统。
实验目的:
1.理解并掌握Java数据库访问技术。
2.掌握对数据进行增加、删除、修改、查询。
实验要求:
1.按照要求编制程序;
3.为增加程序可读性,请在程序中对类成员进行适当注释说明;
4.整理上机步骤,总结经验和体会;
5.认真完成并按时提交实验报告。
【实验过程记录(源程序、测试用例、测试结果及心得体会等)】
一、MIS系统
系统名称:
学生信息管理系统
操作系统:
Window8.1
Java环境;
jdk1.7.0_21、jre1.7.0_21
集成开发环境:
MyEclipseProfessional2013
数据库软件版本:
SQLServer2010连接驱动:
jdbc-odbc
二、系统主要功能
本项目主要实现了java界面的登录功能,以及登陆后的增删改查功能,主要是对student表实现增加一条学生信息、删除一条学生信息记录、更新学生信息表,以及查询学生信息表的数据
三、数据库结构
1.数据库名称:
SchoolDB
2.数据表:
student表具体字段信息如下表:
字段名
类型
长度
小数点
不是null
sname(主键)
varchar
20
√
sname
sdept
sgrade
saddress
sname,sname,sdept,sgrade、saddress分别保存学生的姓名、专业、学院、成绩、家庭住址等学生基本信息,其中sname为主键且不为空。
四、关键功能界面截图
1.登陆界面
用户输入数据库中存在的用户名和密码后,便可登陆成功,否则提示密码错误
1正确的用户名,错误的密码
正确的用户名正确的密码后进入学生信息管理系统:
2.添加功能:
输入界面中的所有数据之后,点击添加,即可向数据库中加入一条学生记录
3.删除功能:
输入姓名,即可把数据库中对应姓名的一条学生信息删除
4.更新功能:
输入要修改学生的信息,即可修改该学生在数据库中的记录
5.查找功能:
点击查找可以查询数据库中的所有学生信息,每页9条记录,其余的学生信息的点击下一页,可以查看,还可以点击上一页,来切换数据
点击下一页:
五、关键代码分析
DBConnetion用于连接数据库:
packageedu;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;
publicclassDBConnection{
publicstaticConnectiongetConnection(){
Connectionconn=null;
Stringdriver="
sun.jdbc.odbc.JdbcOdbcDriver"
;
Stringurl="
jdbc:
odbc:
schoolData"
Stringusername="
sa"
Stringpassword="
123456"
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,username,password);
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}catch(SQLExceptione){
}
returnconn;
}
登陆的窗体类LoginFrame、JFrame:
importjava.awt.Container;
importjava.awt.FlowLayout;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JPasswordField;
importjavax.swing.JTextField;
importjavax.swing.SwingUtilities;
publicclassJswingimplementsActionListener{
privateLoginFrameframe;
privateJLabellname;
privateJLabellpassword;
privateJTextFieldtname;
privateJPasswordFieldtpassword;
privateJButtonbyes;
privateJButtonbno;
privateJPanelp1;
privateJPanelp2;
privateJPanelp3;
privateStringuserName,password;
/**
*初始化窗口数据
*/
publicvoidinitData(){
frame=newLoginFrame("
登陆"
);
frame.setResizable(false);
frame.setLayout(newGridLayout(3,2));
Containerc=frame.getContentPane();
lname=newJLabel("
用户名:
"
lpassword=newJLabel("
密码:
"
tname=newJTextField(8);
tpassword=newJPasswordField(8);
byes=newJButton("
确定"
bno=newJButton("
取消"
p1=newJPanel();
p2=newJPanel();
p3=newJPanel();
p1.add(lname);
p1.add(tname);
c.add(p1);
p2.add(lpassword);
p2.add(tpassword);
c.add(p2);
p3.add(byes);
p3.add(bno);
c.add(p3);
frame.setVisible(true);
byes.addActionListener(this);
bno.addActionListener(this);
userName=null;
password=null;
@Override
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==bno){
System.exit
(1);
}else{
if(e.getSource()==byes){
userName=tname.getText().trim();
password=newString(tpassword.getPassword());
booleanresult=false;
result=SchoolOperate.login(userName,password);
if(result){
frame.setVisible(false);
SwingUtilities.invokeLater(newRunnable(){
publicvoidrun(){
SchoolInfoGuiapplication=newSchoolInfoGui();
application.getJFrame().setVisible(true);
}
});
}else{
Stringerror=null;
if(result==false){
error="
用户名或密码错误,请重试!
}
JOptionPane.showMessageDialog(null,error);
}
}
}
publicstaticvoidmain(String[]args){
newJswing().initData();
importjava.awt.HeadlessException;
importjavax.swing.JFrame;
publicclassLoginFrameextendsJFrame{
publicLoginFrame(Stringtitle)throwsHeadlessException{
super();
setTitle(title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(540,200,280,200);
学生信息管理系统主界面的SchoolInfoGui:
importjava.awt.Rectangle;
importjava.util.List;
importjavax.swing.JComboBox;
im