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

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

Проблема с SQL [D7]


Laymer ©   (2005-09-08 06:56:00) 

Доброе время суток!!!!!
У меня есть БД в Access, я ее подключаю с помощью TADOConnection.
Составляю запрос такого типа:
SELECT * FROM Subject,Tabel where Subject.Id_Sub=Tabel.SubjectID and UPPER(Tabel.Author) like UPPER('Папов')
Выдает ошибку "[Microsoft][Драйвер ODBC Microsoft Access] Неопределенная функция 'UPPER' в выражении"
Если я не использую UPPER, то ничего не вадает на экран, даже при полном совподении регистра.
Почему возникает такая ошибка.
Заранее благодарен!!!!


Lexer   (2005-09-08 13:43:00) [1]

Для Access, используй функцию UCASE.


Laymer   (2005-09-08 13:29:00) [2]

Пробывал, тоже не получается. Даже такой запрос в Access не работает. Хотя в help'е эта функция есть.


ЮЮ   (2005-09-08 09:10:00) [3]

1) Like, обычно, используют в виде like 'П АПОВ%'. Без % это равнозначно Tabel.Author = 'Папов', а там еще И.О. в поле, небось, стоит

P.Ы. Может всё-таки ПОПОВ? Кстати, почему не перевести константу в верхний рнгистр до вставки в SQL выражение.

2) расставляй скобки. Обрати внимание сколько их ставит сам Access :)

Резюме:

SELECT *
FROM
 Subject,
 JOIN Tabel ON Subject.Id_Sub = Tabel.SubjectID
WHERE
 (UPPER(Tabel.Author) LIKE 'ПАПОВ%')


Наверх

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