Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Жучок?? [FireBird 1.0.796]


Карелин Артем ©   (2002-12-23 15:25:00) 

В хранимой процедуре делаю запрос типа:
Select distin field1,field2,field3 where //1-3 усливия типа field100=:Param200// and Field1 starting with :param90 into ....

Передаю туда пустую строку.("")
Если поле Field1 не индексировано, то все ок, т.е. выводит все записи. Если индексировано, то датасет пустой.
Где в моем ДНК ошибка?
P.S. Анализировать строку на пустоту неохота - в процедуре уже несколько ветвлений.


Карелин Артем   (2002-12-24 10:25:00) [1]

Мда.......
Like работает стабильно, а вот фигня с Starting With не заработала при переустановке FireBird более нового билда.


Карелин Артем   (2002-12-23 15:51:00) [2]

Вообще-то LIKE :param||" %" - чуть позже обязательно попробую.


Delirium^.Tremens   (2002-12-23 15:50:00) [3]

Пардон, конечно же :and Field1 LIKE :param90||"%"


Delirium^.Tremens   (2002-12-23 15:49:00) [4]


Select distinct field1,field2,field3
where field100=:Param200
and Field1 LIKE :param90||""
...
into ...


Карелин Артем   (2002-12-23 15:43:00) [5]

Null передаваться не будет. Дело состоит в том, что без индексов работает, а с индексами нет при param90=""


Prooksius   (2002-12-23 15:40:00) [6]

У тебя нет преобразования Field1 = :Param в Field1 is null, если Param - Null.
Насколько я помню, FIBPlus поддерживает это.


Delirium^.Tremens   (2002-12-23 15:35:00) [7]

Если это строка, то можно рассмотреть LIKE :param||"%"


Prooksius   (2002-12-23 15:34:00) [8]

2 Карелин Артем © (23.12.02 15:32)
Нет не один.


Карелин Артем   (2002-12-23 15:32:00) [9]

Один хрен if (param90="" or param90 is null)


Delirium^.Tremens   (2002-12-23 15:30:00) [10]

Это не пустая строка, а строка нулевой длины. Пустая строка - это (IS NULL). Еще один вариант?


Наверх

Титульная страница Поиск, карта сайта Написать письмо