java jdbc从字符串类型中选择

时间:2015-03-21 17:10:50

标签: java jdbc

我正在尝试解决我的代码问题。在以下代码中,它包含JComboBox,其中包含月份列表。当我点击1月份时,我想显示该月的所有细节。

private void jComboBox1_MonthsActionPerformed(java.awt.event.ActionEvent evt) {   
  String selection = (String)jComboBox1_Months.getSelectedItem();
     if(selection.equals("January")){
        try{

          String sql = "select * from booking where Date = ??/01/??"; //problem
          pst = conn.prepareStatement(sql);
          rs = pst.executeQuery();
          viewBookingTable.setModel(DbUtils.resultSetToTableModel(rs));
          } catch(Exception e){

          }     
     }
}  

Date的格式为12/01/16 Database,格式为CHAR
请帮忙。非常感谢你提前。

3 个答案:

答案 0 :(得分:1)

即使我建议您重新审视您的方法并支持使用java.sql.Date类型,您也可以使用 LIKE 谓词选择所需的行:

String sql = "SELECT * FROM booking WHERE Date LIKE '%/01/%'";

答案 1 :(得分:0)

哟可以这样做:

  

String sql =“select * from booking where SUBSTR(Date,4,2)=”01“;

答案 2 :(得分:0)

int index = jComboBox1_Months.getSelectedIndex() + 1;
String sql = "SELECT * FROM `booking` WHERE `date` like '%?%';
pst = conn.prepareStatement(sql);
pst.setObject(1, index);
...