java可视化界面操作数据库编程.docx
- 文档编号:9345505
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:20
- 大小:29.93KB
java可视化界面操作数据库编程.docx
《java可视化界面操作数据库编程.docx》由会员分享,可在线阅读,更多相关《java可视化界面操作数据库编程.docx(20页珍藏版)》请在冰豆网上搜索。
java可视化界面操作数据库编程
天津理工大学实验报告
学院(系)名称:
计算机与通信工程学院
姓名
晴小天
学号
201356xxxx
专业
计算机科学与技术
班级
2013级2班
实验项目
实验五:
小型信息管理系统设计开发
课程名称
Java语言程序设计
课程代码
0667056
实验时间
2015年11月12日、20日、25日第3、4节
实验地点
7-219
批改意见
成绩
教师签字:
实验内容:
1.参考实验资料,自拟题目,设计制作一个小型信息管理系统。
实验目的:
1.理解并掌握Java数据库访问技术。
2.掌握对数据进行增加、删除、修改、查询。
实验要求:
1.按照要求编制程序;
3.为增加程序可读性,请在程序中对类成员进行适当注释说明;
4.整理上机步骤,总结经验和体会;
5.认真完成并按时提交实验报告。
【实验过程记录(源程序、测试用例、测试结果及心得体会等)】
一、MIS系统
系统名称:
学生信息管理系统
操作系统:
Java环境;、jre集成开发环境:
MyEclipseProfessional2013
数据库软件版本:
SQLServer2010连接驱动:
jdbc-odbc
二、系统主要功能
本项目主要实现了java界面的登录功能,以及登陆后的增删改查功能,主要是对student表实现增加一条学生信息、删除一条学生信息记录、更新学生信息表,以及查询学生信息表的数据
三、数据库结构
1.数据库名称:
SchoolDB
2.数据表:
student表具体字段信息如下表:
字段名
类型
长度
小数点
不是null
sname(主键)
varchar
20
0
√
sname
varchar
20
0
√
sdept
varchar
20
0
√
sgrade
varchar
20
0
√
saddress
varchar
20
0
√
sname,sname,sdept,sgrade、saddress分别保存学生的姓名、专业、学院、成绩、家庭住址等学生基本信息,其中sname为主键且不为空。
四、关键功能界面截图
1.登陆界面
用户输入数据库中存在的用户名和密码后,便可登陆成功,否则提示密码错误
1正确的用户名,错误的密码
正确的用户名正确的密码后进入学生信息管理系统:
2.添加功能:
输入界面中的所有数据之后,点击添加,即可向数据库中加入一条学生记录
3.删除功能:
输入姓名,即可把数据库中对应姓名的一条学生信息删除
4.更新功能:
输入要修改学生的信息,即可修改该学生在数据库中的记录
5.查找功能:
点击查找可以查询数据库中的所有学生信息,每页9条记录,其余的学生信息的点击下一页,可以查看,还可以点击上一页,来切换数据
点击下一页:
五、关键代码分析
DBConnetion用于连接数据库:
packageedu;
publicclassDBConnection{
publicstaticConnectiongetConnection(){
Connectionconn=null;
Stringurl="jdbc:
odbc:
schoolData";
Stringusername="sa";
Stringpassword="123456";
try{
(driver);
conn=(url,username,password);
}catch(ClassNotFoundExceptione){
();
}catch(SQLExceptione){
();
}
returnconn;
}
}
登陆的窗体类LoginFrame、JFrame:
packageedu;
publicclassJswingimplementsActionListener{
privateLoginFrameframe;
privateJLabellname;
privateJLabellpassword;
privateJTextFieldtname;
privateJPasswordFieldtpassword;
privateJButtonbyes;
privateJButtonbno;
privateJPanelp1;
privateJPanelp2;
privateJPanelp3;
privateStringuserName,password;
/**
*初始化窗口数据
*/
publicvoidinitData(){
frame=newLoginFrame("登陆");
(false);
(newGridLayout(3,2));
Containerc=();
lname=newJLabel("用户名:
");
lpassword=newJLabel("密码:
");
tname=newJTextField(8);
tpassword=newJPasswordField(8);
byes=newJButton("确定");
bno=newJButton("取消");
p1=newJPanel();
p2=newJPanel();
p3=newJPanel();
(lname);
(tname);
(p1);
(lpassword);
(tpassword);
(p2);
(byes);
(bno);
(p3);
(true);
(this);
(this);
userName=null;
password=null;
}
@Override
publicvoidactionPerformed(ActionEvente){
if()==bno){
(1);
}else{
if()==byes){
userName=().trim();
password=newString());
booleanresult=false;
result=(userName,password);
if(result){
(false);
(newRunnable(){
publicvoidrun(){
SchoolInfoGuiapplication=newSchoolInfoGui();
().setVisible(true);
}
});
}else{
Stringerror=null;
if(result==false){
error="用户名或密码错误,请重试!
";
}
(null,error);
}
}
}
}
publicstaticvoidmain(String[]args){
newJswing().initData();
}
}
packageedu;
publicclassLoginFrameextendsJFrame{
publicLoginFrame(Stringtitle)throwsHeadlessException{
super();
setTitle(title);
setDefaultCloseOperation;
setBounds(540,200,280,200);
}
}
学生信息管理系统主界面的SchoolInfoGui:
packageedu;
publicclassSchoolInfoGuiimplementsActionListener{
privateJFramejFrame;
privateJPaneljContentPane;
privateJLabellblName=null;
privateJTextFieldtfName=null;
privateJLabellblRegion=null;
privateJComboBoxcbRegion=null;
privateJLabellblArea=null;
privateJTextFieldtfArea=null;
privateJLabellblPopu=null;
privateJTextFieldtfPopu=null;
privateJLabellblGdp=null;
privateJTextFieldtfGDP=null;
privateJButtonbtnAdd=null;
privateJButtonbtnDel=null;
privateJButtonbtnModify=null;
privateJButtonbtnQuery=null;
privateJButtonbtnUpPage=null;
privateJButtonbtnDownPage=null;
privateJTabletable=null;
TableModeltm=null;
JScrollPanejsp=null;
privateJTextFieldgetTfName(){
if(tfName==null){
tfName=newJTextField();
(newRectangle(89,17,173,27));
}
returntfName;
}
privateJComboBoxgetCbRegion(){
if(cbRegion==null){
String[]str={"请选择","计算机科学与技术","信息安全","网络工程","信息与计算科学","物流工程","软件工程"};
cbRegion=newJComboBox(str);
(newRectangle(360,17,229,28));
}
returncbRegion;
}
privateJTextFieldgetTfArea(){
if(tfArea==null){
tfArea=newJTextField();
(newRectangle(89,61,173,27));
}
returntfArea;
}
privateJTextFieldgetTfPopu(){
if(tfPopu==null){
tfPopu=newJTextField();
(newRectangle(360,61,229,28));
}
returntfPopu;
}
privateJTextFieldgetTfGDP(){
if(tfGDP==null){
tfGDP=newJTextField();
(newRectangle(89,105,173,27));
}
returntfGDP;
}
privateJButtongetBtnAdd(){
if(btnAdd==null){
btnAdd=newJButton();
(newRectangle(46,152,71,30));
(this);
("添加");
}
returnbtnAdd;
}
privateJButtongetBtnUpPage(){
if(btnUpPage==null){
btnUpPage=newJButton("上一页");
(this);
(200,390,80,30);
}
returnbtnUpPage;
}
privateJButtongetBtnDownPage(){
if(btnDownPage==null){
btnDownPage=newJButton("下一页");
(this);
(300,390,80,30);
}
returnbtnDownPage;
}
privateJButtongetBtnDel(){
if(btnDel==null){
btnDel=newJButton();
(newRectangle(189,152,71,30));
(this);
("删除");
}
returnbtnDel;
}
privateJButtongetBtnModify(){
if(btnModify==null){
btnModify=newJButton();
(newRectangle(342,152,71,30));
(this);
("更新");
}
returnbtnModify;
}
privateJButtongetBtnQuery(){
if(btnQuery==null){
btnQuery=newJButton();
(newRectangle(484,152,71,30));
(this);
("查找");
}
returnbtnQuery;
}
JFramegetJFrame(){
if(jFrame==null){
jFrame=newJFrame();
;
(newRectangle(450,250,610,454));
(getJContentPane());
("学生信息管理系统");
}
returnjFrame;
}
privateJPanelgetJContentPane(){
if(jContentPane==null){
lblGdp=newJLabel();
(newRectangle(15,106,63,27));
("家庭住址");
lblPopu=newJLabel();
(newRectangle(285,61,63,27));
("成绩");
lblArea=newJLabel();
(newRectangle(15,61,63,27));
("学院");
lblRegion=newJLabel();
(newRectangle(285,17,63,27));
("专业");
lblName=newJLabel();
(newRectangle(15,17,63,27));
("姓名");
jContentPane=newJPanel();
(null);
(lblName,null);
(getTfName(),null);
(lblRegion,null);
(getCbRegion(),null);
(lblArea,null);
(getTfArea(),null);
(lblPopu,null);
(getTfPopu(),null);
(lblGdp,null);
(getTfGDP(),null);
(getBtnAdd(),null);
(getBtnDel(),null);
(getBtnModify(),null);
(getBtnQuery(),null);
(getBtnUpPage(),null);
(getBtnDownPage(),null);
}
returnjContentPane;
}
publicvoidactionPerformed(ActionEvente){
if().equals("查找")){
selectAll();
}elseif().equals("下一页")){
selectDownPage();
}elseif().equals("上一页")){
selectUpPage();
}elseif().equals("添加")){
if().equals("")
||().equals("请选择")
||().equals("")
||().equals("")
||().equals("")){
(jFrame,"请填写相关信息");
}else{
Studentco=newStudent();
());
((String)());
());
());
());
booleanflag=(co);
if(flag){
(jFrame,"添加成功");
}else{
(jFrame,"添加失败");
}
}
}elseif().equals("删除")){
if(!
().equals("")){
Stringkey=();
booleanflag=(key);
if(flag){
(jFrame,"删除成功");
}else{
(jFrame,"删除失败");
}
}else{
(jFrame,"请填写一个国家名字");
}
}elseif().equals("更新")){
if(!
().equals("")
&&!
().equals("请选择")
&&!
().equals("")
&&!
().equals("")
&&!
().equals("")){
Studentcou=newStudent();
());
((String)());
());
());
());
booleanflag=(cou);
if(flag){
(jFrame,"更新成功");
}else{
(jFrame,"更新失败");
}
}else{
(jFrame,"请填写相应的信息");
}
}
}
publicvoidsetValues(Object[][]obj){
}
publicvoidselectAll(){
Stringspro=().toString();
List
Object[][]datavalues=newObject[()][5];
for(inti=0;i<();i++){
Studentco=(i);
datavalues[i][0]=();
datavalues[i][1]=();
datavalues[i][2]=();
datavalues[i][3]=();
datavalues[i][4]=();
}
tm=newTableModel();
(datavalues);
table=newJTable(tm);
();
JScrollPanejsp=newJScrollPane(table);
(0,200,600,182);
(jsp);
}
publicvoidselectDownPage(){
List
if(list!
=null){
Object[][]datavalues=newObject[()][5];
for(inti=0;i<();i++){
Studentco=(i);
datavalues[i][0]=();
datavalues[i][1]=();
datavalues[i][2]=();
datavalues[i][3]=();
datavalues[i][4]=();
}
(datavalues);
();
}else{
(jFrame,"已经是最后一页");
}
}
publicvoidselectUpPage(){
List
if(list!
=null){
Object[][]datavalues=newObject[()][5];
for(inti=0;i<();i++){
Studentco=(i);
datavalues[i][0]=();
datavalues[i][1]=();
datavalues[i][2]=();
datavalues[i][3]=();
datavalues[i][4]=();
}
(datavalues);
();
}else{
(jFrame,"已经是第一页");
}
}
}
针对数据库的增删改查操作方法类;
packageedu;
publicclassSchoolOperate{
staticinti=1;
staticintx=0;
publicstaticList
Stringsql="selecttop9*fromstudentorderbysname";
List
returnlist;
}
publicstaticList
inty=queryCount();
List
intcount=0;rim())){
result=true;
}
}
}catch(SQLExceptione){
ength;
}
publicintgetRowCount(){
return;
}
publicObjectgetValueAt(introwIndex,intco
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 可视化 界面 操作 数据库 编程