【发布时间】:2013-12-16 13:08:40
【问题描述】:
请看一下这段代码并告诉我我哪里弄错了:
我只想从我的 ms access db 中获取通过 Combobox 选择的服务的价格 并将其显示在文本字段中
service_box=new JComboBox();
service_box.setSize(20,25);
service_box.addItem("Select a Service");
service_box.addItem("Hair Cut");
service_box.addItem("Facial");
service_box.addItem("Bleaching");
.....
service_box.addItemListener(this);
add_bt.addActionListener(this);
…… ....
@Override
public void itemStateChanged(ItemEvent i){
service_name=(String)i.getItem();
}
@Override
public void actionPerformed(ActionEvent ie){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc.odbc:acescon");
String query= "Select price from service table where service="+service_name;
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
String price_value=rs.getString("price");
total_tf.setText(price_value);
}
catch(SQLException | ClassNotFoundException e){
}
}
它没有显示任何错误。
数据库包含 3 列 1-id 2-服务 3价
【问题讨论】:
-
我也尝试过使用 while 循环:while(rs.next()){String price_value = rs.getString("price");}
-
如果你在 catch 块中执行
e.printStackTrace();或System.out.println(e.getMessage());会显示错误