2013-06-28 3 views
0

Я использую netbeans. У меня есть стол «инцидент» с приоритетом столбца, который может удерживать значения приоритет 1, приоритет 2.Как отображать значения из инструкции sql

Я создал jcombobox с тремя параметрами - выберите все (чтобы выбрать все строки)/приоритет 1 (до выберите строки с приоритетом 1 и т. д.)/приоритет 2. Параметры передаются через prioritybox.getSelected(). Я хочу знать любую возможную инструкцию sql, так что, если я выберем опцию «select all», все элементы таблицы должны быть выбраны.

Если я выбираю приоритет 1 то утверждение

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

запускается на выполнение правильно то, что выбрать строки, которые, имеющие приоритет = Приоритетом 1. Но если я выберу опцию «выбрать все», то этот оператор станет недействительным, поскольку нет такой строки с приоритетом = выберите all.I не хочу использовать if-else. Любое другое возможное решение?

+0

В чем проблема с 'if-else'? – NINCOMPOOP

+0

Я буду включать еще 9 столбцов с этим. Итак, 9! if-else понадобится. – user2531659

ответ

0

Вам необходимо использовать опцию if. Go со следующим кодом

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

Теперь продолжайте добавлять это, если заявления для остальных полей.

0

Для чисто SQL вы можете сделать:

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

Однако это, вероятно, проще добавить логику добавить, где положение, если опция не выбрать все.

+0

в столбце приоритета нет значения «выбрать все». Из опции «select» я хочу, чтобы sql включил всю таблицу. – user2531659

+0

Вышеприведенный SQL сделает это. Если выбрано все выбрано SQL, где будет 'WHERE priority = ', выберите все' OR ', выберите all' = 'select all''. Это вернет все строки. – Jim

+0

, но в строке приоритета нет значения «выберите все». – user2531659

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

} 
+1

сравнение строк с использованием '! =' ?? – PermGenError

+1

'!" Выбрать все ".equals (prioritybox.getSelected())'! – NINCOMPOOP

0

Вы можете пройти специальный символ «%» для запроса, который возвращает все символы, для этого вам нужно заменить = с, как запрос, и вам необходимо установить «%» в качестве значения «SelectAll», ваш запрос может быть таким:

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