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

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

Adotable.locate


Страницы:   1 2

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 не известно, поскольку это точно такая же тайна, как и остальное.

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


Страницы:   1 2

Наверх

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