vadey
Зарегистрирован: 05.07.2005 Сообщения: 3
|
Добавлено: Вт Июл 05 2005 18:11 Заголовок сообщения: Динамический поиск |
|
|
Мне нужно искать информацию по нескольким полям. Например
Имя, Отчество, Адвокат, Национальность, Возвраст. Они содержатся в разных таблицах базы даных. Любое из полей может быть незаполненое. Соответственно от количества заполнених полей надо вормировать запрос к базе даных. Как правильно ето здалать ? Может у когото есть опыт ? Зарание благодарен и признательный. Кстати использую postgreSQL 8 and Java |
|
TYLLlKAH
Зарегистрирован: 12.07.2005 Сообщения: 27 Откуда: Vidnoe
|
Добавлено: Вт Июл 12 2005 16:28 Заголовок сообщения: |
|
|
вариант номер раз если сервер БД держит хранимые процедуры то:
Код: |
create procedure myProc (@var1 type1, @var2 type2,...., @varN typeN)AS
SELECT field1,field2,...,fieldN from Table1 [JOIN Section]
WHERE ((field1=@var1)or(field1 is null))AND((field2=@var2)or(field2 is null))AND...((fieldN=@varN)or(fieldN is null))
|
и вызывать эту процедуру из Апплета или скрипта
вариант номер два создавать запрос в Апплете или скрипте что вроде этого:
Код: |
public String SQLGenMethod(type1 var1,type2 var2,...,typeN varN)
{
String SQLstr = "SELECT field1,field2,...,fieldN from Table1 [JOIN Section]
WHERE";
SQLstr = SQLstr+"((field1="+(String)var1+")or(field1 is null))";
SQLstr = SQLstr+"AND((field2="+(String)var2+")or(field2 is null))";
//...............................some code.........................................
SQLstr = SQLstr+"AND((fieldN="+(String)varN+")or(fieldN is null))";
return SQLstr;
}
|
_________________ Чуваки языком молотить, не мешки ворочить |
|