javaswing界面实现数据库增删改查.docx
《javaswing界面实现数据库增删改查.docx》由会员分享,可在线阅读,更多相关《javaswing界面实现数据库增删改查.docx(13页珍藏版)》请在冰豆网上搜索。
javaswing界面实现数据库增删改查
数据库程序设计
大作业
班级:
2012级软件外包服务一班
学号:
0117
姓名:
。
。
。
时间:
2013-6-19
1.功能描述
功能简介
用swing做出图形化界面形式,实现数据库的增删改查
把员工表跟部门表连接起来,实现数据的增加,删除,修改,查找。
实现步骤
(1)安装好虚拟机,并在其下确认oracle已安装成功(可以在dos下输入相关命令来检查是否安装成功)。
(2)在网络中心修改pc机上的VMwareNetworkAdapter的IP、子网页码(默认)、网关。
(3)修改虚拟机的IP、网掩码(默认)、网关,确保PC机上的网关和虚拟机的IP一致。
(在控制面板——>网络和共享中心——>本地连接3——>属性中,修改IP、网掩码)
(4)在PC机的dos命令控制台ping虚拟机的IP,确保正常,能ping通(即将虚拟机内外ping通)。
(5)配置好虚拟机下的oracle的数据库和监听。
(6)在eclipse中编写相关代码,并用jtable实现图形化界面,用以实现与数据库的连接和操作数据库等功能。
(7)在eclipse中导入数据库的驱动。
(8)运行eclipse,查看运行结果。
2.核心代码
1.数据库连接
packageclassDatabaseConnection{
publicstaticvoidmain(String[]args){
Connectionconn=null;
Statementstmt=null;
ResultSetrs=null;
try{
("");
Stringurl=":
1521/WFJ";
conn=(url,"hr","hr");
stmt=();
Stringsql="select*fromdepartments";
rs=(sql);
while()){
"department_id"));
"\t");
"department_name"));
"\t");
"manager_id"));
"\t");
"location_id"));
}
}catch(ClassNotFoundExceptione){
();
}catch(SQLExceptione){
();
}finally{
try{
if(rs!
=null){
();
}
if(stmt!
=null){
();
}
if(conn!
=null){
();
}
}catch(SQLExceptione){
etLayout(null);
JLabellblemployee=newJLabel("department_id");
(12,10,220,13);
getContentPane().add(lblemployee);
department_idField=newJTextField();
(100,7,96,19);
getContentPane().add(department_idField);
(10);
JLabellblAge=newJLabel("department_name");
(252,10,220,13);
getContentPane().add(lblAge);
department_nameField=newJTextField();
(365,7,96,19);
getContentPane().add(department_nameField);
(10);
JLabellblStuno=newJLabel("manager_id");
(12,36,220,13);
getContentPane().add(lblStuno);
manager_idField=newJTextField();
(10);
(100,33,96,19);
getContentPane().add(manager_idField);
JLabellblClass=newJLabel("location_id");
(252,36,220,13);
getContentPane().add(lblClass);
location_idField=newJTextField();
(10);
(365,33,96,19);
getContentPane().add(location_idField);
JButtonbtnAdd=newJButton("增加");
(newActionListener(){
publicvoidactionPerformed(ActionEvente){
add();
}
}
);
(75,59,77,21);
getContentPane().add(btnAdd);
JButtonbtnDel=newJButton("删除");
(newActionListener(){
publicvoidactionPerformed(ActionEvente){
del();
}
}
);
(180,59,77,21);
getContentPane().add(btnDel);
JButtonbtnUpdate=newJButton("更新");
(newActionListener(){
publicvoidactionPerformed(ActionEvente){
update();
}
}
);
(280,59,77,21);
getContentPane().add(btnUpdate);
JButtonbtnFind=newJButton("查找");
(newActionListener(){
publicvoidactionPerformed(ActionEvente){
find();
}
}
);
(380,59,77,21);
getContentPane().add(btnFind);
model=newDefaultTableModel(columns,0);
table=newJTable(model);
(newMouseAdapter()
{
publicvoidmouseClicked(MouseEvente)
{
introw=();
((String)(row,0));
((String)(row,2));
((String)(row,3));
((String)(row,4));
tmp=getInput();
}
});
JScrollPanescrollPane=newJScrollPane(table);
(12,100,571,248);
getContentPane().add(scrollPane);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLocation(350,200);
setSize(601,380);
setResizable(false);
setVisible(true);
}
privateStudentgetInput(){
Studentstu=newStudent();
=();
=();
=();
=();
returnstu;
}
privatevoidadd(){
(getInput());
showTable();
}
privatevoiddel(){
for(inti=0;i<();i++)
{
if(i)))
{
(i);break;
}
}
showTable();
}
privatevoidupdate(){
Studentstu=getInput();
for(inti=0;i<();i++)
{
if(i))){
(i);
(i,stu);
break;
}
}
showTable();
}
privatevoidfind(){
removeRows();
Studentstu=getInput();
for(inti=0;i<();i++){
Studenttmp=(Student)(i);
if(stu)){
());
break;
}
}
}
privatevoidshowTable(){
removeRows();
for(inti=0;i<();i++)
{
Studentstu=(Student)(i);
());
}
}
privatevoidremoveRows(){
while()>0){
(0);
}
}
publicstaticvoidmain(String[]args){
newAppStudent();
}
}
classStudent
implementsSerializable{
publicStringdepartment_id;
publicStringdepartment_name;
publicStringmanager_id;
publicStringlocation_id;
publicbooleanequals(Objectobj){
returnequals((Student)obj);
}
publicbooleanequals(Studentobj){
booleanisdepartment_id=true;
if!
=null&&!
"".equals){
isdepartment_id=;
}
booleanisdepartment_name=true;
if!
=null&&!
"".equals){
isdepartment_name=;
}
booleanismanager_id=true;
if!
=null&&!
"".equals){
ismanager_id=;
}
booleanislocation_id=true;
if!
=null&&!
"".equals){
islocation_id=;
}
returnisdepartment_id&&isdepartment_name&&ismanager_id&&islocation_id;
}
publicString[]toArray(){
returnnewString[]{department_id,department_name,manager_id,location_id
};
}
publicvoidsetVisible(booleanb){
实训总结
通过这次实训我发现了自己许多的缺点和不足,我一定会好好找出不足,尽最大可能去改正,不断进步发展。
对于本次实训,我表示很遗憾,未能达到预期的效果,归根到底还是关于java的知识没学好。
我认为基础知识是很重要的,图形化界面要在eclipse中实现必须要熟悉jframe的功能,只有熟知jframe的所有功能才能对图形化界面做出来,但是我对之一部分的了解是少之又少,不足以通过jframe来实现图形化界面,并且在里面连接数据库,实现oracle中hr用户中department和employees这两张表的增删改查。