Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];

Вниз

Adotable.locate   Найти похожие ветки 

 
anton773 ©   (2006-09-03 19:32) [0]

Здравствуйте Мастера! Подскажите что я не так делаю.Пытаюсь организовать поиск по базе данных :               if not ADOTable1.Locate("текст", Edit1.Text, loCaseInsensitive,loPartialKey]) then
   ShowMessage("Запись не найдена");
При этом не могу найти ни одной записи. даже по полному совпадению значений,не говоря уже о частичном совпадении значений.


 
anton773 ©   (2006-09-03 19:33) [1]

P.S база данных Access


 
Desdechado ©   (2006-09-03 19:50) [2]

Может, стоит почитать в справке про первый параметр метода, чтоб не лепить туда "текст".


 
anton773 ©   (2006-09-03 21:09) [3]


> Может, стоит почитать в справке про первый параметр метода,
>  чтоб не лепить туда "текст".

А разве первый параметр не имя поля по которому надо искать? Текст- имя поля P.S понимаю что зря дал русское имя но работать должно.


 
anton773 ©   (2006-09-03 21:35) [4]

неужели никто не знает


 
Anatoly Podgoretsky ©   (2006-09-03 22:43) [5]

У нас нет другой конференции ниже по уровню знаний.


 
Antoxa2005   (2006-09-04 12:07) [6]

Давно не пользовался, но вроде так:
ADOTable1.Locate("имя поля из ADOTable1", "строка поиска", [])
или может так понятнее
ADOTable1.Locate("где искать", "что искать", [])


 
anton773 ©   (2006-09-04 21:17) [7]


> ADOTable1.Locate("имя поля из ADOTable1", "строка поиска",
>  [])

А чем это отличается от того что делаю я?


 
Anatoly Podgoretsky ©   (2006-09-04 21:48) [8]

А как ты делаешь?


 
anton773 ©   (2006-09-04 22:03) [9]


> А как ты делаешь?

ADOTable1.Locate("text", Edit1.Text, loCaseInsensitive,loPartialKey]) ;


 
Anatoly Podgoretsky ©   (2006-09-04 22:06) [10]

И это у тебя еще и компилируется?


 
anton773 ©   (2006-09-04 22:13) [11]


> И это у тебя еще и компилируется?

А почему не должно ;-)


 
Palladin ©   (2006-09-04 22:15) [12]

потому что одной квадратной скобки нехватает


 
anton773 ©   (2006-09-04 22:17) [13]


> потому что одной квадратной скобки нехватает

это ее здесь нет.,а в коде все на месте.


 
Anatoly Podgoretsky ©   (2006-09-04 22:20) [14]

anton773 ©   (04.09.06 22:17) [13]
Про код где то там, можешь расказывать в другом месте, а хдесь мы обсуждаем приведеный код, который не откомпилируется.
Этв аозиция конечно очень удобная, где то там есть код, который правильный. Может быть, но сие нам не известно. И пока предмета для обсуждения нет.


 
anton773 ©   (2006-09-04 22:21) [15]

Может ошибка была при создании таблицы в access? ведь с кодом все впорядке.Подскажите есть ли какие особенности создания таблицы,чтобы при работе с ней через ADO не было проблем?


 
anton773 ©   (2006-09-04 22:27) [16]


> Этв аозиция конечно очень удобная, где то там есть код,
> который правильный. Может быть, но сие нам не известно

ADOTable1.Locate("text", Edit1.Text,[loCaseInsensitive,loPartialKey]) ; Теперь докажите что код не правильный ;-)


 
Anatoly Podgoretsky ©   (2006-09-04 22:28) [17]

Что бы не было проблеи требуются знания, а вот код остается загадкой. Может с ним все в порядке, а может нет. Может быть таблицы правильно созданы, а может быть нет, нам сие неизвестно. Это твоя глубокая тайна.


 
anton773 ©   (2006-09-04 22:29) [18]


> а вот код остается загадкой.

см [16]


 
Anatoly Podgoretsky ©   (2006-09-04 22:31) [19]

anton773 ©   (04.09.06 22:27) [16]
Внешне теперь код правильный и видимо откомпилируется.
А вот соответсует это или нет твоему FieldDefs не известно, поскольку это точно такая же тайна, как и остальное.

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


 
Anatoly Podgoretsky ©   (2006-09-04 22:32) [20]

anton773 ©   (04.09.06 22:29) [18]
Посмотрел и что?
Поход на правильный, но возможно не рабочий.


 
anton773 ©   (2006-09-04 22:39) [21]


> Поход на правильный, но возможно не рабочий

как так.Правильный НО не рабочий? Привожу полностью procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ADOTable1.Locate("text", Edit1.Text, [loPartialKey,loCaseInsensitive]);

end;


 
Anatoly Podgoretsky ©   (2006-09-04 22:42) [22]

Тут много не известного, например Edit1.Text
Вопрос про FieldDefs игнорируем, без ответа на него, невозможно задать дополнительные вопросы.

Ну и скажем код не совсем верынй, это между прочим функция, а не процедура.


 
anton773 ©   (2006-09-04 22:52) [23]


> это между прочим функция, а не процедура.

в [1] я пробовал использовать как функцию результат тот же.
> FieldDefs игнорируем

Не игнорирую,а просто не знаю где это проверить.(я не професиональный программист, это мое хобби)


 
anton773 ©   (2006-09-04 22:56) [24]


> Edit1.Text

это то что ищем


 
Рустем ©   (2006-09-04 23:01) [25]


> anton773 ©

А ну ка попробуй так:

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
 if ADOTable1.Locate("FieldName", "TextValue", []) then
   ShowMessage("Запись найдена!");
end;

где
 FieldName - наименование поля;
 TextValue - значение (полное совпадение).

Находит запись или нет?


 
Anatoly Podgoretsky ©   (2006-09-04 23:01) [26]

Это я догадался, а то ли ищем, а есть ли оно?


 
anton773 ©   (2006-09-04 23:07) [27]


> Находит запись или нет?

нет
>  а есть ли оно?

есть


 
Anatoly Podgoretsky ©   (2006-09-04 23:11) [28]

Слова, слова


 
Рустем ©   (2006-09-04 23:14) [29]


> anton773 ©

Посмотри внимательно: та ли база, таблица, поле... Перепроверь!
А то ты, прямо таки, Америку открываешь...


 
anton773 ©   (2006-09-05 19:55) [30]


> Посмотри внимательно: та ли база, таблица, поле... Перепроверь!

База единственная в ней одна таблица,поле то самое.Глюки винды отпадают,так как пробовал запускать ADO демо из папки делфей там locate работает на ура... ответ один:неправильно создана таблица в access. Люди добрые подскажите в чем секрет создания таблиц access чтоб можно было работать через ADO


 
Правильный Вася   (2006-09-05 19:59) [31]

регистрозависимость имен полей ?


 
anton773 ©   (2006-09-05 20:06) [32]


> регистрозависимость имен полей ?

отпадает:у меня все имена полей в нижнем регистре


 
anton773 ©   (2006-09-07 21:43) [33]

А locate работает с полем типа memo?


 
Правильный Вася   (2006-09-07 21:59) [34]

вряд ли


 
anton773 ©   (2006-09-07 22:05) [35]


> вряд ли

а как тогда можно проводить поиск по полю такого типа?


 
MsGuns ©   (2006-09-08 11:57) [36]

>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-08 20:30) [37]


> MsGuns ©

Спасибо! Заработало, но только в поле с типом данных текст.
> Еще надо учитывать тип данных поля, где идет поиск.

а как производить поиск в поле типа Memo?


 
UMU ©   (2006-09-08 22:21) [38]


> а как производить поиск в поле типа Memo?


С помощью запроса



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.016 c
1-1155712822
Dell3r
2006-08-16 11:20
2006.10.01
Доступ к закладкам в .rtf


15-1157884524
Проггер из библиотеки
2006-09-10 14:35
2006.10.01
Формат mp3 (не ID3 тегов!!!)


4-1148418602
GanibalLector
2006-05-24 01:10
2006.10.01
KeyboardLayout


2-1157741398
lobach
2006-09-08 22:49
2006.10.01
Компонент


1-1156347510
Blacksus
2006-08-23 19:38
2006.10.01
Помогите с TStringgrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский