簡體   English   中英

Java Swing-條件SQL查詢

[英]Java Swing - Condition SQL Queries

我有一條sql select語句,通過從jComboBox&jDateChooser獲取用戶輸入信息,可以通過jButton在jtable上顯示查詢。

是否可以為按鈕設置條件,例如

下面的代碼為jButton動作lisener

    java.util.Date dateFromDateChooser = jDateChooser.getDate();
    String dateString = String.format("%1$tY-%1$tm-%1$td", dateFromDateChooser);  

    String attendant = (String) cbName.getSelectedItem();
    String fill = "SELECT id as 'No', recDate as 'Date', super as 'Supervisor', attendant as 'Attendant' from log"
            + "WHERE recDate = '"+dateString+"'"
            + "and attendant = '" + attendant + "'";

    try{

        ps = conn.prepareStatement(fill);
        rs = ps.executeQuery();    
        jTable1.setModel(DbUtils.resultSetToTableModel(rs));

    }
    catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }

上面的代碼工作正常,但是我希望允許用戶使用兩種類型的條件。 例如通過選擇“日期和jComboBox”或僅選擇“日期”來顯示搜索結果

我可以使用if else else語句嗎?

請指教...

在此處輸入圖片說明

將檢查添加到您的SQL建築物

String fill = "SELECT id as 'No', recDate as 'Date', super as 'Supervisor', attendant as 'Attendant' from log"
        + "WHERE recDate = '"+dateString+"'";

if(comboboxShouldBeIncluded) {
        fill+= " and attendant = '" + attendant + "'";
}

如果未選擇姓名,則無需服務員查詢

String attendant = (String) cbName.getSelectedItem();
    String qry;
    if( attendant != null && !attendant.isEmpty() ) {
     qry = "SELECT id as 'No', recDate as 'Date', super as 'Supervisor', attendant as 'Attendant' from log"
            + "WHERE recDate = '"+dateString+"'"
            + "and attendant = '" + attendant + "'";
    } else {
        qry = "SELECT id as 'No', recDate as 'Date', super as 'Supervisor', attendant as 'Attendant' from log"
            + "WHERE recDate = '"+dateString+"'";
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM