javaswing-conditionsql查询
我有一个sqlselect语句,通过jButton从jComboBox&jDateChooser获取用户输入信息来显示jtable上的查询 是否可以为按钮设置条件,例如 下面是jButton action lisener的代码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
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+'”;}