我把我的错误描述拿去网上搜索 最多的说法是在涉及数据库操作的语句没有try catch 可是我明明有try catch的...再发代码之前简单说一下我代码的功能.是一个Hotel MIS系统的一个模块 先做出图形界面 然后通过事件处理启动数据库操作
/*
*
*
*****客房信息维护界面*****
*
*
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
import java.sql.*;
public class roomFrame extends JFrame{
Label l1,l2,l3,l4,l5,l6;
TextField t1,t2,t3,t4,t5;
TextArea ta;
Button b_query,b_all,b_new,b_modify,b_exit;
int dx=65,dy=0;
Vector cell,row;
String url="jdbc:odbc:Hotel";
String user="ZYX";
String password="";
String ls;
public roomFrame(String ss){
super(ss);
setLayout(null);
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
final Connection con=DriverManager.getConnection(url,user,password);
final Statement stmt=con.createStatement();
dy=80;
l1=new Label("请输入客房编号");
l1.setBounds(new Rectangle(20+dx,40+dy,100,20));
add(l1);
t1=new TextField();
t1.setBounds(new Rectangle(130+dx,40+dy,100,20));
add(t1);
b_query=new Button("查询");
b_query.setBounds(new Rectangle(250+dx,30+dy,70,40));
//查询按钮处理..................................
add(b_query);
b_all=new Button("显示全部信息");
b_all.setBounds(350+dx,30+dy,100,40);
b_all.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
ls="select * from Room";
ResultSet rs=stmt.executeQuery(ls);
row=new Vector();
while(rs.next()){
cell=new Vector();
cell.add(rs.getString(1));
cell.add(rs.getString(2));
cell.add(rs.getString(3));
cell.add(rs.getInt(4));
cell.add(rs.getString(5));
row.add(cell);
}
rs.close();
stmt.close();
con.close();
}
});
add(b_all);
dy=-60;
l2=new Label("房号");
l2.setBounds(new Rectangle(20+dx,100+dy,50,20));
add(l2);
t2=new TextField();
t2.setBounds(new Rectangle(80+dx,100+dy,100,20));
add(t2);
l3=new Label("客房状态");
l3.setBounds(new Rectangle(250+dx,100+dy,50,20));
add(l3);
t3=new TextField();
t3.setBounds(new Rectangle(310+dx,100+dy,90,20));
add(t3);
l4=new Label("客房级别");
l4.setBounds(new Rectangle(20+dx,130+dy,50,20));
add(l4);
t4=new TextField();
t4.setBounds(new Rectangle(80+dx,130+dy,100,20));
add(t4);
l5=new Label("备 注");
l5.setBounds(new Rectangle(250+dx,130+dy,30,20));
add(l5);
ta=new TextArea();
ta.setBounds(new Rectangle(310+dx,130+dy,100,50));
add(ta);
l6=new Label("单价");
l6.setBounds(new Rectangle(20+dx,160+dy,50,20));
add(l6);
t5=new TextField();
t5.setBounds(new Rectangle(80+dx,160+dy,100,20));
add(t5);
dy=-20;
b_new=new Button("新建");
b_new.setBounds(new Rectangle(100+dx,230+dy,70,40));
add(b_new);
b_exit=new Button("退出");
b_exit.setBounds(new Rectangle(250+dx,230+dy,70,40));
add(b_exit);
String[] columnHeaders={"客房编号","客房状态","客房等级","客房单价","备注"
};
Vector columnHeaderName=new Vector();
for(int i=0;i<columnHeaders.length;i++){
columnHeaderName.add(columnHeaders[i]);
}
DefaultTableModel tableModel=new DefaultTableModel();
tableModel.setDataVector(row,columnHeaderName);
JTable table=new JTable(tableModel);
table.setRowHeight(20);
table.setCursor(new Cursor(12));
table.setSelectionBackground(Color.black);
table.setSelectionForeground(Color.white);
table.setGridColor(Color.black);
table.setBackground(Color.white);//背景颜色
table.setCellSelectionEnabled(false);
//setLayout(new FlowLayout());
JScrollPane jsp=new JScrollPane(table);
jsp.setBounds(85,300,430,200);
this.getContentPane().add(jsp);
this.setSize(600,600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}catch(SQLException sqle){
System.out.println(1+sqle.toString());
}
catch(Exception e){
System.out.println(2+e.toString());
}
}//构造函数
public static void main(String args[]){
roomFrame rf=new roomFrame("客房信息管理");
}
}
/*
*
*
*****客房信息维护界面*****
*
*
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
import java.sql.*;
public class roomFrame extends JFrame{
Label l1,l2,l3,l4,l5,l6;
TextField t1,t2,t3,t4,t5;
TextArea ta;
Button b_query,b_all,b_new,b_modify,b_exit;
int dx=65,dy=0;
Vector cell,row;
String url="jdbc:odbc:Hotel";
String user="ZYX";
String password="";
String ls;
public roomFrame(String ss){
super(ss);
setLayout(null);
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
final Connection con=DriverManager.getConnection(url,user,password);
final Statement stmt=con.createStatement();
dy=80;
l1=new Label("请输入客房编号");
l1.setBounds(new Rectangle(20+dx,40+dy,100,20));
add(l1);
t1=new TextField();
t1.setBounds(new Rectangle(130+dx,40+dy,100,20));
add(t1);
b_query=new Button("查询");
b_query.setBounds(new Rectangle(250+dx,30+dy,70,40));
//查询按钮处理..................................
add(b_query);
b_all=new Button("显示全部信息");
b_all.setBounds(350+dx,30+dy,100,40);
b_all.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
ls="select * from Room";
ResultSet rs=stmt.executeQuery(ls);
row=new Vector();
while(rs.next()){
cell=new Vector();
cell.add(rs.getString(1));
cell.add(rs.getString(2));
cell.add(rs.getString(3));
cell.add(rs.getInt(4));
cell.add(rs.getString(5));
row.add(cell);
}
rs.close();
stmt.close();
con.close();
}
});
add(b_all);
dy=-60;
l2=new Label("房号");
l2.setBounds(new Rectangle(20+dx,100+dy,50,20));
add(l2);
t2=new TextField();
t2.setBounds(new Rectangle(80+dx,100+dy,100,20));
add(t2);
l3=new Label("客房状态");
l3.setBounds(new Rectangle(250+dx,100+dy,50,20));
add(l3);
t3=new TextField();
t3.setBounds(new Rectangle(310+dx,100+dy,90,20));
add(t3);
l4=new Label("客房级别");
l4.setBounds(new Rectangle(20+dx,130+dy,50,20));
add(l4);
t4=new TextField();
t4.setBounds(new Rectangle(80+dx,130+dy,100,20));
add(t4);
l5=new Label("备 注");
l5.setBounds(new Rectangle(250+dx,130+dy,30,20));
add(l5);
ta=new TextArea();
ta.setBounds(new Rectangle(310+dx,130+dy,100,50));
add(ta);
l6=new Label("单价");
l6.setBounds(new Rectangle(20+dx,160+dy,50,20));
add(l6);
t5=new TextField();
t5.setBounds(new Rectangle(80+dx,160+dy,100,20));
add(t5);
dy=-20;
b_new=new Button("新建");
b_new.setBounds(new Rectangle(100+dx,230+dy,70,40));
add(b_new);
b_exit=new Button("退出");
b_exit.setBounds(new Rectangle(250+dx,230+dy,70,40));
add(b_exit);
String[] columnHeaders={"客房编号","客房状态","客房等级","客房单价","备注"
};
Vector columnHeaderName=new Vector();
for(int i=0;i<columnHeaders.length;i++){
columnHeaderName.add(columnHeaders[i]);
}
DefaultTableModel tableModel=new DefaultTableModel();
tableModel.setDataVector(row,columnHeaderName);
JTable table=new JTable(tableModel);
table.setRowHeight(20);
table.setCursor(new Cursor(12));
table.setSelectionBackground(Color.black);
table.setSelectionForeground(Color.white);
table.setGridColor(Color.black);
table.setBackground(Color.white);//背景颜色
table.setCellSelectionEnabled(false);
//setLayout(new FlowLayout());
JScrollPane jsp=new JScrollPane(table);
jsp.setBounds(85,300,430,200);
this.getContentPane().add(jsp);
this.setSize(600,600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}catch(SQLException sqle){
System.out.println(1+sqle.toString());
}
catch(Exception e){
System.out.println(2+e.toString());
}
}//构造函数
public static void main(String args[]){
roomFrame rf=new roomFrame("客房信息管理");
}
}
public static void main(String args[]){
String url="jdbc:odbc:LocalServer";
String user="ZYX";
String password="";
String ls;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(url,user,password);
Statement stmt=con.createStatement();
ls="select * from Room";
ResultSet rs=stmt.executeQuery(ls);
System.out.print("sno ");
System.out.print("sname ");
System.out.print("sage ");
System.out.print("ssex ");
System.out.println("dept ");
while(rs.next()){
System.out.print(rs.getString(1)+"|");
System.out.print(rs.getString(2)+"|");
System.out.print(rs.getString(3)+"|");
System.out.print(rs.getInt(4)+"|");
System.out.println(rs.getString(5)+"|");
}
rs.close();
stmt.close();
con.close();
}
catch(SQLException e){
System.out.print(1+e.toString());
}
catch(Exception e){
System.out.print(2+e.toString());
}
}
}
new ActionListener(){
public void actionPerformed(ActionEvent e){
ls="select * from Room";
ResultSet rs=stmt.executeQuery(ls);
row=new Vector();
while(rs.next()){
cell=new Vector();
cell.add(rs.getString(1));
cell.add(rs.getString(2));
cell.add(rs.getString(3));
cell.add(rs.getInt(4));
cell.add(rs.getString(5));
row.add(cell);
}
rs.close();
stmt.close();
con.close();
}