Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регистр букв при работе с dbf ч/з ADO, Как сделать запрос неразличимый к рег-ру 
:(
    Опции темы
Bes
Дата 28.12.2004, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 2
Всего: 7



Здрасте, господа.
Где работаю: Д6 ADO dbf
Проблема: пишу запрос с like однако результат оказывается чувствительным к регистру т.е. результат на запрос 'aSdFgH' и 'AsDfGh' разные, а д.б. одинаковые как при работе со скул-сервером.
Заранее благодарен.
PM MAIL   Вверх
Vit
Дата 29.12.2004, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Если сервер работает в Case sensitive то используйте конвертацию строк в большие буквы при сравнении


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Bes
Дата 29.12.2004, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 2
Всего: 7



Vit: я пробовал что-то подобное - не получается т.е. параметр-то переделать не проблема, а как запрос-то к верхним буквам привести?
Да, еще: слово "сервер"...? Я работаю просто с одним дбф-фалйом - никакого сервера не подразумевается или я не прав? Может можно просто отключить это св-во, т.к. при работе MSSQL2000 такой проблемы не возникало.... :-(
PM MAIL   Вверх
Vit
Дата 29.12.2004, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Не знаю синтаксис dbf провайдера, чтото типа

Код

select * From Table
Where upper(fieldname) like '%SOMETHING%'


только конкретное название функции upper посмотри в справочнике по твоему варианту sql


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Bes
Дата 30.12.2004, 07:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 2
Всего: 7



Спасибо, я попробую, но дело действительно может быть в особенностях синтаксиса, а где бы можно посмотреть такие справочники?

Проверил:
запрос такой:

select * from upper(catalog) where name like '%AV%'

на что она мне и отвечает:

[Microsoft][Драйвер ODBC dBase] Ошибка синтаксиса в предложении FROM.

:-(

Это сообщение отредактировал(а) Bes - 30.12.2004, 07:57
PM MAIL   Вверх
Dimich
Дата 30.12.2004, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 25.8.2004
Где: Брянск

Репутация: 3
Всего: 7



Цитата(Bes @ 30.12.2004, 07:25)
[Microsoft][Драйвер ODBC dBase] Ошибка синтаксиса в предложении FROM.

надо так:
select * from catalog where upper(name) like '%AV%'

--------------------
Не работает - исправь, работает - не трогай!!!
PM MAIL ICQ Jabber   Вверх
Vit
Дата 30.12.2004, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Посмотри внимательно на мой пример

Код

select * From Table
Where upper(fieldname) like '%SOMETHING%'


и на то что ты сделал:

Код

select * from upper(catalog)
where name like '%AV%'


Зачем имя таблицы надо переводить в вверхний регистр? smile


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Bes
Дата 30.12.2004, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 2
Всего: 7



Блин, точно же - уже значит крыша едет. :-)
Признаюсь. глупо и очевидно - глаз замылился- не туда воткнул.
:-(

Попробовал - все равно не работает, пишет.

[Microsoft][Драйвер ODBC dBase] Неопределенная функция upper в выражении.

Я же помню, что не работало. :-(
PM MAIL   Вверх
Bes
Дата 30.12.2004, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 2
Всего: 7



Урра!!!! Методом научного тыка, косвенной информации и аналогий нашел скул функцию для дбф Lcase - все работает. Всем спасибо. :-)
PM MAIL   Вверх
Dimich
Дата 30.12.2004, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 25.8.2004
Где: Брянск

Репутация: 3
Всего: 7



Немного опоздал правда, но действительно различия оказались в диалектах SQL
в данном случае аналоги функций Upper() и Lower() есть UCase() и LCase()
--------------------
Не работает - исправь, работает - не трогай!!!
PM MAIL ICQ Jabber   Вверх
Bes
Дата 30.12.2004, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 2
Всего: 7



Ага, все равно спасибо за беспокойство. :-)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.3555 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.