Java数据库程序设计.docx

上传人:b****2 文档编号:17526319 上传时间:2023-07-26 格式:DOCX 页数:16 大小:268.86KB
下载 相关 举报
Java数据库程序设计.docx_第1页
第1页 / 共16页
Java数据库程序设计.docx_第2页
第2页 / 共16页
Java数据库程序设计.docx_第3页
第3页 / 共16页
Java数据库程序设计.docx_第4页
第4页 / 共16页
Java数据库程序设计.docx_第5页
第5页 / 共16页
Java数据库程序设计.docx_第6页
第6页 / 共16页
Java数据库程序设计.docx_第7页
第7页 / 共16页
Java数据库程序设计.docx_第8页
第8页 / 共16页
Java数据库程序设计.docx_第9页
第9页 / 共16页
Java数据库程序设计.docx_第10页
第10页 / 共16页
Java数据库程序设计.docx_第11页
第11页 / 共16页
Java数据库程序设计.docx_第12页
第12页 / 共16页
Java数据库程序设计.docx_第13页
第13页 / 共16页
Java数据库程序设计.docx_第14页
第14页 / 共16页
Java数据库程序设计.docx_第15页
第15页 / 共16页
Java数据库程序设计.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Java数据库程序设计.docx

《Java数据库程序设计.docx》由会员分享,可在线阅读,更多相关《Java数据库程序设计.docx(16页珍藏版)》请在冰点文库上搜索。

Java数据库程序设计.docx

Java数据库程序设计

Java

数据库程序设计

 

 

一、实验目的

1.了解JDBC体系结构中的层以及驱动程序的种类

2.掌握JDBCAPI的类和接口

3.掌握创建JDBC应用程序的方法

二、准备工作

1.JDK的安装设置:

JDK/JRE/JVM

2.Eclipse集成开发环境的绿色安装;

三、实验描述

1.实验类型:

设计

2.实验学时:

2学时

3.实验内容:

编写代码来创建使用PreparedStatement对象的应用程序

四、实验结果

(1)

界面显示:

如下图,左边每一个label对应右面JTextfield,用来输入信息,下面Insert,UpdateQelete用来增、删、改、查,Clear、Exit用来控制:

PUBLISHERSIP;

201GPUBLISHERSNAME!

PfldNEHUWBfR:

ADORESS:

□IT

STATE

ZIP:

(2)Insert插入信息:

当插入成功是最上面标签颜色变成黄色,如下图:

 

PUSlISHI-R^IQ:

PUBUFIXERSNAME:

IHdONENUfcKRFR:

ADOflE^S:

CITY:

5TATB

OP:

2010

卜¥湎向J:

據设计

W华无賓蛭些

^DOGOOQ

Its

由国

■s*rt

U0dM

cwie

Claw

Exrt

当插入失败时,标签颜色变成红色,同时弹出对话框:

凹PUBUSHERS

PUBU5JERSID!

PUBUSHERSNAME!

PHONENUMBER^

ADDRESS:

crrr;

5IA7E;

DPT

PUBLISHERSINFORMATIONS

hisKrl

Updarlii

Delebe

Ctaar

Em

(2)依次插入信息,最后测试数据库内容如下:

 

 

二结果.1

puUishera-id

pubtishersname

phonenurrib-er

BddkE55

dfy

stolezip

1

I3010

]费0面向st®设V

舌华尢字出社

QOOCNXHH

寸谅

中国

2

五iii

槪115库匣酣应用

僚丈通丈学出删

00000001

JUS

中国

3

2012

锻机EE理与挤口

辽确狀学

DOCOQOW

江苏

iKI

中国

(3)Update操作:

将上面数据库第三条记录:

Publishersname改为江苏科技

大学出版社,city改为张家港。

结果如下:

 

(4)查询操作:

选择ComboBo相应年份,界面显示相关信息:

(5)删除操作:

选择ComboBo相关年份,点击Delete按钮,删除数据库相关信息:

1-

 

Ymt

puNisbensid

pu^iabefBname

phonenumbeff

aty

11paat

邱m面甸羽負设计

衿丈学出阪社

0000000(}

北点

巾国

22311

魏据障股理与贞用

交话丸学出蒯

(KXKX3001

itSt

北点

中国

四、实验代码

importimportimportimport

java.awt.*;javax.swing.event.*;java.util.*;java.awt.event.*;

importimportimportimportimportimportimport

javax.swing.*;

java.sql.Connection;java.sql.DriverManager;java.sql.ResultSet;java.sql.SQLException;java.sql.Statement;java.sql.PreparedStatement;

publicclassPublishersextendsJFrameimplementsActionListener,

ItemListener{

StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";//

加载JDBC驱动

StringdbURL="jdbc:

sqlserver:

//localhost:

1433;

DatabaseName=Publishers";//连接服务器和数据库test

StringuserName="sa";//默认用户名

StringuserPwd="123";//密码

PreparedStatementst=null;

Statementst1=null;

ResultSetrs=null;

ConnectiondbConn=null;

JLabellabel1,label2,label3,label4,label5,label6,label7,label8;//声明相关组件

JTextFieldtext1,text2,text3,text4,text5,text6,text7;

JComboBoxyear;

JButtonInsert,Update,Delete,Clear,Exit;

publicPublishers(){//构造函数,初始化JFrame

setTitle("PUBLISHERS");

setBounds(100,100,1050,600);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

init();

}

publicvoidinit(){//

setLayout(null);

label1=newJLabel(

label2=newJLabel(

label3=newJLabel(

创建相关组件

"PUBLISHERSINFORMATIONS");

"PUBLISHERSID:

");

"PUBLISHERSNAME:

");

label4

label5

label6

label7

label8

=newJLabel(=newJLabel(=newJLabel(=newJLabel(=newJLabel(

"PHONENUMBER:

");

"ADDRESS:

");

"CITY:

"

);

"STATE:

");

"ZIP:

");

 

label1.setVisible(true);

label2.setVisible(true);

label3.setVisible(true);

label4.setVisible(true);

label5.setVisible(true);

label6.setVisible(true);

label7.setVisible(true);

label8.setVisible(true);

label1.setBounds(400,0,400,50);

label2.setBounds(100,50,200,50);

label3.setBounds(100,100,200,50);label4.setBounds(100,150,200,50);label5.setBounds(100,200,200,50);label6.setBounds(100,250,200,50);label7.setBounds(100,300,200,50);

label8.setBounds(100,350,200,50);

Fontfont=newFont(null,Font.BOLD,20);

label1.setFont(font);

add(label1);add(label2);add(label3);add(label4);add(label5);add(label6);add(label7);add(label8);

text1=newJTextField();text2=newJTextField();text3=newJTextField();

text4=newJTextField();text5=newJTextField();

text6=newJTextField();text7=newJTextField();

text1.setBounds(800,50,200,30);text2.setBounds(800,100,200,30);text3.setBounds(800,150,200,30);text4.setBounds(800,200,200,30);text5.setBounds(800,250,200,30);text6.setBounds(800,300,200,30);

text7

.setBounds(800,350,200,30);

text1

.setVisible(

true);

text2

.setVisible(

true);

text3

.setVisible(

true);

text4

.setVisible(

true);

text5

.setVisible(

true);

text6

.setVisible(

true);

text7

.setVisible(

true);

add(textl);

add(text2);

add(text3);

add(text4);

add(text5);

add(text6);

add(text7);

Insert=newJButton("Insert");

Update=newJButton("Update");Delete=newJButton("Delete");Clear=newJButton("Clear");

Exit=newJButton("Exit");

Insert.setBounds(100,500,100,50);Update.setBounds(250,500,100,50);Delete.setBounds(400,500,100,50);Clear.setBounds(600,500,100,50);Exit.setBounds(750,500,100,50);add(Insert);add(Update);add(Delete);

add(Clear);

add(Exit);

year=newJComboBox();

year.addItem("2010"上

year.addItem("2011"上

year.addItem(

"2012"1

year.addItem(

"2013"1

year.setBounds(500,100,200,30);

this);//注册侦听器this);

this);

this);

this);

this);

year.setVisible(true);add(year);

Insert.addActionListener(Clear.addActionListener(Exit.addActionListener(Update.addActionListener(Delete.addActionListener(year.addItemListener(

try{//连接数据库

Class.forName(driverName);

dbConn=DriverManager.getConnection(dbURL,userName,userPwd);

System.out.println("ConnectionSuccessful!

");//如果连接成功

//控制台输出

Connection

//Successful!

}catch(Exceptione){

e.printStackTrace();

}

}

publicstaticvoidmain(String[]args){

Publisherspublishers=newPublishers。

@Override

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==Insert){//插入Insert按钮

intflag=0;

Stringsql="insertintopublishersinfo

values(?

?

?

?

?

?

?

?

)";

try{

st=dbConn.prepareStatement(sql);

st.setString(1,

year

.getSelectedltem().toString())

st.setString(2,

textl

.getText().trim());

st.setString(3,

text2

.getText().trim());

st.setString(4,

text3

.getText().trim());

st.setString(5,

text4

.getText().trim());

st.setString(6,

text5

.getText().trim());

st.setString(7,

text6

.getText().trim());

st.setString(8,

text7

.getText().trim());

flag=st.executeUpdate();

System.out.println(flag);

if(flag==1){

labell.setForeground(Color.yellow);

}

}catch(SQLExceptione1){//错误警告

labell.setForeground(Color.red);

JOptionPane.showMessageDialog(this,"执行此操作错误!

!

警告对话框",

JOptionPane.WARNING_MESSAG);E

//TODOAuto-generatedcatchblocke1.printStackTrace();

}

System.out.println("Updatesuccessful!

!

!

\n");

}

if(e.getSource()==Update){//更新Update按钮

try{

intflag=0;

Stringsql="updatepublishersinfoset[publishersid]=?

[publishersname]=?

[phonenumber]=?

address=?

city=?

state=?

zip=?

whereYear=?

";

st=dbConn.prepareStatement(sql);

st.setString(1,

text1

.getText().trim());

st.setString(2,

text2

.getText().trim());

st.setString(3,

text3

.getText().trim());

st.setString(4,

text4

.getText().trim());

st.setString(5,

text5

.getText().trim());

st.setString(6,

text6

.getText().trim());

st.setString(7,

text7

.getText().trim());

st.setString(8,

year

.getSelectedItem().toString())

flag=st.executeUpdate();

System.out.println("update:

"+flag);if(flag>=1){

label1.setForeground(Color.yellow);

}

}catch(SQLExceptione1){//错误报警

//TODOAuto-generatedcatchblock

JOptionPane.showMessageDialog(this,"执行此操作错误!

警告对话框",

JOptionPane.WARNING_MESSAG);E

label1.setForeground(Color.red);

e1.printStackTrace();

}

}

if(e.getSource()==Delete){//删除Delete操作try{

intflag=0;

Stringsql="deletefrompublishersinfowhereYear=?

"

st=dbConn.prepareStatement(sql);

st.setString(1,year.getSelectedItem().toString());flag=st.executeUpdate();

System.out.println("update:

"+flag);

if(flag>=1){

Iabel1.setForeground(Color.yellow);

}

}catch(SQLExceptione1){//错误警告

//TODOAuto-generatedcatchblock

JOptionPane.showMessageDialog(this,"执行此操作错误!

!

!

警告对话框",

JOptionPane.WARNING_MESSAGE

label1.setForeground(Color.red);

e1.printStackTrace();

}

@Override

publicvoiditemStateChanged(ltemEvente){//JCoboBox选择相应年份,显

示数据库信息

//TODOAuto-generatedmethodstub

Stringsql="select*frompublishersinfowhereYear=?

";

try{

st=dbConn.prepareStatement(sql);

st.setString(1,year.getSelectedltem().toString());

rs=st.executeQuery();

Stringstr[]=newString[8];

intcount=0;

while(rs.next()){

text1.setText(rs.getString

(2));

text2.setText(rs.getString(3));

text3.setText(rs.getString(4));

text4.setText(rs.getString(5));

text5

.setText(

rs

.getString(6));

text6

.setText(

rs

.getString(7));

text7

}

.setText(

rs

.getString(8));

}catch(SQLExceptione1){

//TODOAuto-generatedcatchblocklabel1.setForeground(Color.red);e1.printStackTrace();

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2