Java 数据库程序设计Word格式文档下载.docx
《Java 数据库程序设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Java 数据库程序设计Word格式文档下载.docx(15页珍藏版)》请在冰点文库上搜索。
(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"
2011"
2012"
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();
}
Updatesuccessful!
!
\n"
if(e.getSource()==Update){//更新Update按钮
intflag=0;
Stringsql="
updatepublishersinfoset[publishersid]=?
[publishersname]=?
[phonenumber]=?
address=?
city=?
state=?
zip=?
whereYear=?
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());
System.out.println("
update:
+flag);
if(flag>
=1){
}catch(SQLExceptione1){//错误报警
if(e.getSource()==Delete){//删除Delete操作
deletefrompublishersinfowhereYear=?
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);
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();
}