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

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

case ... when в запросе выдает ошибку [D6, Paradox]


Oleg_ ©   (2005-02-02 11:30:00) 

Для подмены отображаемых значений поля применяю стандартную sql конструкцию case .. when

и получаю ошибку с сообщением о недопустимом слове when:
<invalid use of keyword. token:when>

В чем может быть трабл?

БД paradox, работю через  BDE
вот кусочек кода:

Query1.SQL.Add(' select CASE num ');
Query1.SQL.Add(' WHEN "2" THEN "22" ');
Query1.SQL.Add(' ELSE "11" ');
Query1.SQL.Add(' END ');
Query1.SQL.Add(' from "1.db" ');
Query1.open;

спасибо


Oleg_   (2005-02-02 12:11:00) [1]

Соловьев © -> отдельное спасибо , такая конструкция тоже работает


Oleg_   (2005-02-02 11:41:00) [2]

спасибо , в LocalSQL.hlp уже копаюсь , буду осваивать предикаты


msguns   (2005-02-02 11:36:00) [3]

Нет, не только запросом. В проге можно написать код, строящий динамический запрос с нужной комбинаций предикатов. Кстати, с помощью той же конструкции Case


Соловьев   (2005-02-02 11:33:00) [4]


> применяю стандартную sql конструкцию case .. when

для Парадокса это нестандартная. Читать LocalSQL.hlp
А сделать то что ты хош, можно только в проге. или попробовать
select 22
from 1
where num = 1
union
select 11
from 1
where not num = 1


Johnmen   (2005-02-02 11:32:00) [5]

LocalSQL.hlp


Наверх

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