Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / не работает ALLTRIM в запросе через ADO / 6 сообщений из 6, страница 1 из 1
23.11.2004, 16:38
    #32796523
IgorAnk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает ALLTRIM в запросе через ADO
Может кто-то с этим встречался? Запрос в ADOQuery следующий:

select ALLTRIM(c.Name) as Name, g.contrid as Id
from gpo g, contr c
where c.id=g.contrid

поле c.Name в фокспро-таблице типа Char(150). Запрос возвращает поле Name со всеми пробелами, а они мне не нужны. Фокс в-обще не знаю. Подскажите, плиз, как от пробелов в селекте избавиться.

строка подключения:
Driver={Microsoft dBase VFP Driver (*.dbf)};UID=;SourceDB=c:\проект;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;
...
Рейтинг: 0 / 0
23.11.2004, 16:50
    #32796556
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает ALLTRIM в запросе через ADO
Так это скорее всего ADOQuery не знает ALLTRIM.
А вот чем заменить?
Попробуй Trim или пару RTrim и LTrim
...
Рейтинг: 0 / 0
23.11.2004, 16:57
    #32796583
IgorAnk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает ALLTRIM в запросе через ADO
Попробовал TRIM, LTRIM и RTRIM. Не помогло.
...
Рейтинг: 0 / 0
24.11.2004, 03:21
    #32797070
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает ALLTRIM в запросе через ADO
Hi IgorAnk!

Только в VFP9 появился тип Varchar до того все поля имели строго
фиксированный размер и ты никак не можешь в курсоре (а соответственно и в
ADO рекордсете) избавится от хвостовых пробелов. Неужели в той среде откуда
ты работаешь нету аналога фоксового Alltrim-а?

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
24.11.2004, 06:43
    #32797105
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает ALLTRIM в запросе через ADO
IgorAnkМожет кто-то с этим встречался? Запрос в ADOQuery следующий:

select ALLTRIM(c.Name) as Name, g.contrid as Id
from gpo g, contr c
where c.id=g.contrid

поле c.Name в фокспро-таблице типа Char(150). Запрос возвращает поле Name со всеми пробелами, а они мне не нужны.

Так в чем проблема? Избавляйся от пробелов на клиенте...

IgorAnkФокс в-обще не знаю. Подскажите, плиз, как от пробелов в селекте избавиться.
Это не проблема знания Фокса как такового, а проблема знания языка SQL. Точнее его конкретного диалекта (T-SQL, PL/SQL, ANSI и т.д.)
Например, в SQL Server Book On-Line (хелп по M$ SQL-Server) имеется упоминание о возможности использовать функции LTRIM и RTRIM для удаления лишних пробелов. (А вот Alltrim там действительно нет...)
А в С++Builder'e в так называемом "локальном SQL" есть очень интересная функция TRIM. Ее описание следующее:

TRIM([LEADING|TRAILING|BOTH] [trimmed_char] FROM column_reference)

Первый параметр отвечает за место из которого будут удаляться некоторые симовлы (начальные, конечные или вместе); второй параметр представляет тот символ, который необходимо удалить и т.д...

Кроме того, не забывай, что ширина поля в select выбирается, чтобы уместить в нее самую длинную строку. Так что, если у тебя будут строки, состоящие из 5, 10, 15 и 100 символов (с учетом обрезания начальных и конечных пробелов), то в результирующей выборке ширина поля составит именно 100 символов как бы тебе ни хотелось другого...
...
Рейтинг: 0 / 0
24.11.2004, 08:42
    #32797162
IgorAnk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает ALLTRIM в запросе через ADO
Вообще-то, пишу на делфях под MS SQL и на клиенте избавиться от лишних пробелов, конечно, могу. Что, видимо, буду и делать. Просто, привычка работы с сиквел-сервером приучила, что все можно сделать на сервере. Тем более в описании драйвера vfpodbc.dll функция такая есть. Но, видимо, придется на нее не расчитывать. Спасибо!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / не работает ALLTRIM в запросе через ADO / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]