C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Запрос с LIKE с параметром, из Query
Gedeon
Отправлено: 02.06.2004, 10:26


Ветеран

Группа: Модератор
Сообщений: 1742



В ADOQuery засунул следующий запрос
SQL
SELECT * FROM WorkPeoples WHERE NowWork = :@NowWork AND FIO LIKE :@FIO

И потом в коде
CODE

void __fastcall TFMainForm::Edit1Change(TObject *Sender)
{
   QFull->Parameters->ParamByName("@FIO")->Value = "'%" + Edit1->Text + "%'";
   QFull->Requery();
}
//---------------------------------------------------------------------------

В результате пустой грид, так что нельзя делать?
olegenty
Отправлено: 02.06.2004, 10:49


Ветеран

Группа: Модератор
Сообщений: 2412



вообще-то можно...
попробуй закрыть и открыть, вместо Requery()...
olegenty
Отправлено: 02.06.2004, 10:50


Ветеран

Группа: Модератор
Сообщений: 2412



да, и одинарные ковычки вытри на...
AVC
Отправлено: 02.06.2004, 11:33


Ветеран

Группа: Модератор
Сообщений: 1583



У меня бы сработало так:
SQL
SELECT * FROM WorkPeoples WHERE NowWork = :@NowWork AND Upper(FIO) LIKE ('%' + :@FIO + '%')

или
CODE

Value = "%" + Edit1->Text.UpperCase() + "%";
Gedeon
Отправлено: 02.06.2004, 13:46


Ветеран

Группа: Модератор
Сообщений: 1742



2AVC
Спасибо получилось, блин в QueryAnalizer то работает без всяких приведений к верхним регистрам, че за хрень.
QUOTE

да, и одинарные ковычки вытри на...

По поводу одинарных кавычек так их не было сначала, это когда не получается начинаешь лепить все подряд.
AVC
Отправлено: 02.06.2004, 13:55


Ветеран

Группа: Модератор
Сообщений: 1583



Сам накалываюсь. В одной базе независимое от регистра сравнение — параметр сервера, а в другой на совести клента.

Вернуться в Работа с базами данных в C++Builder