![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Adotable.locate
anton773 © (2006-09-03 19:32:00)Здравствуйте Мастера! Подскажите что я не так делаю.Пытаюсь организовать поиск по базе данных :
if not ADOTable1.Locate('текст', Edit1.Text, loCaseInsensitive,loPartialKey]) thenПри этом не могу найти ни одной записи. даже по полному совпадению значений,не говоря уже о частичном совпадении значений.
ShowMessage('Запись не найдена');
UMU (2006-09-08 22:21:00) [1]
> а как производить поиск в поле типа Memo?
С помощью запроса
anton773 (2006-09-08 20:30:00) [2]
> MsGuns ©
Спасибо! Заработало, но только в поле с типом данных текст.
> Еще надо учитывать тип данных поля, где идет поиск.
а как производить поиск в поле типа Memo?
MsGuns (2006-09-08 11:57:00) [3]>anton773 © (04.09.06 22:39) [21]
>ADOTable1.Locate('text', Edit1.Text, [loPartialKey,loCaseInsensitive]);
Так попробуй:
with ADOTable1 do
if Locate(FieldByName('text').FieldName,Edit1.Text,
[loPartialKey,loCaseInsensitive]) then
Еще надо учитывать тип данныхполя, где идет поиск.
anton773 (2006-09-07 22:05:00) [4]
> вряд ли
а как тогда можно проводить поиск по полю такого типа?
Правильный Вася (2006-09-07 21:59:00) [5]вряд ли
anton773 (2006-09-07 21:43:00) [6]А locate работает с полем типа memo?
anton773 (2006-09-05 20:06:00) [7]
> регистрозависимость имен полей ?
отпадает:у меня все имена полей в нижнем регистре
Правильный Вася (2006-09-05 19:59:00) [8]регистрозависимость имен полей ?
anton773 (2006-09-05 19:55:00) [9]
> Посмотри внимательно: та ли база, таблица, поле... Перепроверь!
База единственная в ней одна таблица,поле то самое.Глюки винды отпадают,так как пробовал запускать ADO демо из папки делфей там locate работает на ура... ответ один:неправильно создана таблица в access. Люди добрые подскажите в чем секрет создания таблиц access чтоб можно было работать через ADO
Рустем (2006-09-04 23:14:00) [10]
> anton773 ©
Посмотри внимательно: та ли база, таблица, поле... Перепроверь!
А то ты, прямо таки, Америку открываешь...
Anatoly Podgoretsky (2006-09-04 23:11:00) [11]Слова, слова
anton773 (2006-09-04 23:07:00) [12]
> Находит запись или нет?
нет
> а есть ли оно?
есть
Anatoly Podgoretsky (2006-09-04 23:01:00) [13]Это я догадался, а то ли ищем, а есть ли оно?
Рустем (2006-09-04 23:01:00) [14]
> anton773 ©
А ну ка попробуй так:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if ADOTable1.Locate('FieldName', 'TextValue', []) then
ShowMessage('Запись найдена!');
end;
где
FieldName - наименование поля;
TextValue - значение (полное совпадение).
Находит запись или нет?
anton773 (2006-09-04 22:56:00) [15]
> Edit1.Text
это то что ищем
anton773 (2006-09-04 22:52:00) [16]
> это между прочим функция, а не процедура.
в [1] я пробовал использовать как функцию результат тот же.
> FieldDefs игнорируем
Не игнорирую,а просто не знаю где это проверить.(я не професиональный программист, это мое хобби)
Anatoly Podgoretsky (2006-09-04 22:42:00) [17]Тут много не известного, например Edit1.Text
Вопрос про FieldDefs игнорируем, без ответа на него, невозможно задать дополнительные вопросы.
Ну и скажем код не совсем верынй, это между прочим функция, а не процедура.
anton773 (2006-09-04 22:39:00) [18]
> Поход на правильный, но возможно не рабочий
как так.Правильный НО не рабочий? Привожу полностьюprocedure TForm1.BitBtn1Click(Sender: TObject);
begin
ADOTable1.Locate('text', Edit1.Text, [loPartialKey,loCaseInsensitive]);
end;
Anatoly Podgoretsky (2006-09-04 22:32:00) [19]anton773 © (04.09.06 22:29) [18]
Посмотрел и что?
Поход на правильный, но возможно не рабочий.
Anatoly Podgoretsky (2006-09-04 22:31:00) [20]anton773 © (04.09.06 22:27) [16]
Внешне теперь код правильный и видимо откомпилируется.
А вот соответсует это или нет твоему FieldDefs не известно, поскольку это точно такая же тайна, как и остальное.
Доказывать нам не надо, это тебе надо доказывать, для начала, что данный код компилируется. При том тебя никто не будет заставлять, это твоя добрая воля.
А мы посмотреть и отвечать по мере предоставления информации, желательно достоверной.