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

Вниз

Locate в ADO? Работает ли?   Найти похожие ветки 

 
Buka   (2003-08-14 22:52) [0]

Уважаемые мастера! Опять без вашей помощи не могу разобраться. Работает ли LOCATE в технологии ADO?
Сделал ту же программу, которая хорошо работает с BDE (TTable) с использованием TADOTable.
По навигатору - данные просматриваются нормально, но при попытке сделать то же, что и с использованим TTable- DELPHI "плюется": Acces violation at adress 004F60F in module ".." .Read of address 00000000."
А я всего лишь хочу поискать:
procedure TEdit1Change(Sender: TObject);
begin
Table4. Locate ("FIO",TEdit1.Text,[loCaseInsensitive, loPartialKeу]);
end;
Не подскажете в чем дело? И где это: adress 004F60F и 00000000?


 
sniknik   (2003-08-15 00:56) [1]

> Не подскажете в чем дело? И где это: adress 004F60F и 00000000?
в первой букве от TEdit1.Text. (+ возможно, в обьекте оторванном от родителя, судя по заголовку процедуры)

p.s. ADO тут совсем не причем.
> которая хорошо работает с BDE (TTable)
да ну (???).


 
Nikolay M.   (2003-08-15 09:38) [2]

Ну вот, опять эти криворукие программисты из борланда и M$ накосячили... Ни ADO, ни Locate толком реализовать не могут :)


 
Buka   (2003-08-16 20:16) [3]

Я прошу прощения, конечно же опечатка Edit1.Text. И очень прошу Nikolay M. и других хамов- не беспокоиться.


 
Anatoly Podgoretsky   (2003-08-16 23:07) [4]

Таблицу не мешало бы создать и открыть


 
Buka   (2003-08-17 20:51) [5]

Уважаемый Anatoly! Таблица создана и работала, когда пользовался компонентом TTable. Кстати, где адреса и что это такое я разобрался, но как можно ли туда соваться пока еще не решил. Наверное пока щнаний маловато. Проблемка с моей базой, которую я естественно проиндексировал, даже при использовании TTable - подзависает на минуту-другую пока работает LOCATE, если вводишь не существующий в базе запрос (через Edit).
Но вот никак не могу разобраться с ADO. Книжечки толковой нет, а живу там где ее не купишь.
Вот если бы KENGURA отозвался. Он умеет очень толково объяснять (и не через "нижнюю губу" разговаривает с начинающими).


 
Anatoly Podgoretsky   (2003-08-17 21:04) [6]

Вот это 00000000 говорит об неинициализированном указатели.
Я бы проверил состояние и значение Table4 перед использованием
Table4.Locate ("FIO",TEdit1.Text,[loCaseInsensitive, loPartialKeу]);
Если ты конечно уверен, что исключение возникает в этой строке.


 
sniknik   (2003-08-17 21:51) [7]

> Проблемка с моей базой, которую я естественно проиндексировал, даже при использовании TTable - подзависает на минуту-другую пока работает LOCATE..
и первый и второй раз такой же эфект?
ADO может и сам досоздавать индексы (как при обращении к проперти Sort к примеру), и зависеть индекса таблици (в случае с движком Jet, другие вроде не умеют, в холпе написано, но с тех пор как его писали многое могло изменится)
так вот в случае досоздавания как раз будет подвисание при первом обращении.

p.s. а как это > через "нижнюю губу" ??? по моему ответы были адекватны вопросу, зря обижаешся.


 
Buka   (2003-08-18 19:58) [8]

<.s. а как это > через "нижнюю губу" ??? по моему ответы были адекватны вопросу, зря обижаешся>
Я всегда уважал специалистов в своей области, но еще больше тех из них, которые с уважением делятся своими знаниями.
Конечно, мне нужно чуть подробнее объяснить там где Мастера понимают друг-друга с полуслова.
А проблема с которой я вышел к Вам в том, что после корректировки базы данных (внесения нескольких изменений)-начинает зависать на LOCATE. Вот Анатолий посоветовал "проверить состояние и значение" таблицы. А как? (Работаю с TTable.При первоначально созданной таблице - относительно быстро поиск, затем после корректировки сначала немного подзависает, а потом - вообще, если ищещь не существующую запись.Например, ошибочно введенное значение. LOCATE - ищет, ищет,...А разум подсказывает, что должен быть stop если записи не существует или какая-либо реакция?).


 
sniknik   (2003-08-18 20:30) [9]

> А разум подсказывает, что должен быть stop если записи не существует или какая-либо реакция?.
да сушествует и ты ее получаеш эту реакцию (полный перебор при отсутствии индекса, тем дольше чем больше таблица).

> При первоначально созданной таблице - относительно быстро поиск
сначала таблица видать мааалееенькая, подрастет и поиск замедлится.

> Конечно, мне нужно чуть подробнее объяснить там где Мастера понимают друг-друга с полуслова.
если не расказывать симтомы и не отвечать на наводящие вопросы то и мастера не поймут. (другое дело они почемуто так себя не ведут)

p.s. сплошные эмоции, вместо действий. раз уж
> Вот Анатолий посоветовал "проверить состояние и значение" таблицы. А как?
не знаеш как, то почему бы не спросить что он имел в виду и как это делается?



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

Форум: "Базы";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.013 c
14-24628
Ru
2003-08-21 14:48
2003.09.08
Что называется


1-24413
FoxBox
2003-08-25 15:37
2003.09.08
Наличие метода в классе


6-24577
SPeller
2003-07-04 19:17
2003.09.08
Докачка файлов по протоколу HTTP


14-24622
Рома
2003-08-20 21:14
2003.09.08
Как в третих казаков по сети больше двух человек играть?


1-24479
Сан Саныч
2003-08-26 03:12
2003.09.08
Чайниковская проблема с Class Factory





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский