Java 数据库程序设计.docx

上传人:b****7 文档编号:10145883 上传时间:2023-02-08 格式:DOCX 页数:15 大小:313.89KB
下载 相关 举报
Java 数据库程序设计.docx_第1页
第1页 / 共15页
Java 数据库程序设计.docx_第2页
第2页 / 共15页
Java 数据库程序设计.docx_第3页
第3页 / 共15页
Java 数据库程序设计.docx_第4页
第4页 / 共15页
Java 数据库程序设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Java 数据库程序设计.docx

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

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,Update,Delete用来增、删、改、查,Clear、Exit用来控制:

(2)Insert插入信息:

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

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

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

 

(3)Update操作:

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

Publishersname改为江苏科技大学出版社,city改为张家港。

结果如下:

(4)查询操作:

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

(5)删除操作:

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

 

四、实验代码

importjava.awt.*;

importjavax.swing.event.*;

importjava.util.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

importjava.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("PUBLISHERSINFORMATIONS");

label2=newJLabel("PUBLISHERSID:

");

label3=newJLabel("PUBLISHERSNAME:

");

label4=newJLabel("PHONENUMBER:

");

label5=newJLabel("ADDRESS:

");

label6=newJLabel("CITY:

");

label7=newJLabel("STATE:

");

label8=newJLabel("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(text1);

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");

year.addItem("2013");

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

year.setVisible(true);

add(year);

Insert.addActionListener(this);//注册侦听器

Clear.addActionListener(this);

Exit.addActionListener(this);

Update.addActionListener(this);

Delete.addActionListener(this);

year.addItemListener(this);

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="insertintopublishersinfovalues(?

?

?

?

?

?

?

?

)";

try{

st=dbConn.prepareStatement(sql);

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

st.setString(2,text1.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){

label1.setForeground(Color.yellow);

}

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

label1.setForeground(Color.red);

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

","警告对话框",

JOptionPane.WARNING_MESSAGE);

//TODOAuto-generatedcatchblock

e1.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_MESSAGE);

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){

label1.setForeground(Color.yellow);

}

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

//TODOAuto-generatedcatchblock

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

","警告对话框",

JOptionPane.WARNING_MESSAGE);

label1.setForeground(Color.red);

e1.printStackTrace();

}

}

if(e.getSource()==Clear){//Clear按钮

text1.setText(null);

text2.setText(null);

text3.setText(null);

text4.setText(null);

text5.setText(null);

text6.setText(null);

text7.setText(null);

}

if(e.getSource()==Exit){//Exit按钮

System.exit(0);

}

}

@Override

publicvoiditemStateChanged(ItemEvente){//JCoboBox选择相应年份,显示数据库信息

//TODOAuto-generatedmethodstub

Stringsql="select*frompublishersinfowhereYear=?

";

try{

st=dbConn.prepareStatement(sql);

st.setString(1,year.getSelectedItem().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-generatedcatchblock

label1.setForeground(Color.red);

e1.printStackTrace();

}

}

}

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

当前位置:首页 > 人文社科 > 军事政治

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1