如何从sql语句中显示值

时间:2013-06-28 11:27:17

标签: java sql

我正在使用netbeans。 我有一个表'事件',其列'优先级'可以保存值优先级1,优先级2。

我创建了一个带有3个选项的jcombobox - 全选(选择所有行)/优先级1(选择优先级为1的行等等)/优先级2.选项通过prioritybox.getSelected()传递。 我想知道任何可能的sql语句,这样如果我选择'select all'选项,则应该选择表的所有条目。

如果我选择优先级1 声明

  select * from incident where priority='"+prioritybox.getSelected()+"';

正确执行,即选择优先级= priority1的行。但是,如果我选择“全选”选项,则此语句将变为无效,因为没有这样的行具有优先级值=全选。我不想使用if-else。还有其他任何可能的解

4 个答案:

答案 0 :(得分:0)

对于纯粹的SQL,你可以这样做:

select * from incident where priority='"+prioritybox.getSelected()+"' OR '"+prioritybox.getSelected()+"' = 'select all';

但是,如果选项不是全部选项,则添加逻辑以添加where子句可能更容易。

答案 1 :(得分:0)

String query="";
if(!prioritybox.getSelected().toString().equals("select all")){
    query="select * from incident where priority='"+prioritybox.getSelected()+"'";
}
else {
    query="select * from incident" ;

 }

答案 2 :(得分:0)

您可以将特殊字符'%'传递给查询,该查询将返回您需要替换的所有字符=使用类似查询,您需要将'%'设置为'SelectAll'值,您的查询可以像这样

select * from incident where priority like '"+prioritybox.getSelected()+"';

答案 3 :(得分:0)

您需要使用if子句。 请使用以下代码

     String strSelect1 = "select * from table";
     if(prioritybox.getSelectedItem()!="your option")
     { strSelect1=strSelect1+" where Priority='"+prioritybox.getSelectedItem()+"'"; };

现在继续为其余字段添加if语句。