Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javaswing-conditionsql查询_Java_Sql_Swing - Fatal编程技术网

javaswing-conditionsql查询

javaswing-conditionsql查询,java,sql,swing,Java,Sql,Swing,我有一个sqlselect语句,通过jButton从jComboBox&jDateChooser获取用户输入信息来显示jtable上的查询 是否可以为按钮设置条件,例如 下面是jButton action lisener的代码 java.util.Date dateFromDateChooser = jDateChooser.getDate(); String dateString = String.format("%1$tY-%1$tm-%1$td", dateFromDate

我有一个sqlselect语句,通过jButton从jComboBox&jDateChooser获取用户输入信息来显示jtable上的查询

是否可以为按钮设置条件,例如

下面是jButton action 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);
    }
} 上面的代码运行良好,但我希望允许用户选择两种条件之一。 例如,通过选择“Date and jComboBox”或仅选择“Date”来显示搜索结果

我可以为这种情况使用if-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+"'";
    }

是的,这是可能的。如果您澄清您的问题,我们实际上可能会帮助您。请举例说明如何检查(comboboxShouldBeIncluded){fill+=”和attendant='“+attendant+'”;}