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

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

метод Locate находит не первую запись а последующую. [D6, MSSQL]


andrey__ ©   (2005-02-14 12:37:00) 

ADODataSet1.Locate('Name',Trim(Edit1.Text),[loPartialKey])
метод Locate находит не первую запись а одну из последующих (хотя я всегда считал что должна быть первая | если кто может обЪясните).

Но мне надо именно первую запись соотв. условию.


sniknik   (2005-02-14 17:23:00) [1]

> Anatoly Podgoretsky ©   (14.02.05 17:08) [11]
добавка к этому, что хотелось бы знать еще
в каком компоненте смотриш? (судя по тому что некоторые ex_гриды осушествляют сортировку независимо от взможностей движка и т.д. (другим признакам) подозреваю что они организуют свой буфер(рекордсет), может быть несоответствие с оригиналом... предположение экзотическое, и скорее всего ты чтото недосказал чем это сойдется)


DSKalugin   (2005-02-14 17:15:00) [2]

Убери [loPartialKey],
пусть будет точно []
и вообще для использования Locate надо упорядочить поле в котором идет поиск
это делается или искусственно путем указания order by в запросе
или проиндексировать поле


Johnmen   (2005-02-14 17:08:00) [3]

Locate ищет глобально, переходя (Next) от начала (First) до конца (Last). Если нашел, останавливает движение по НД.


Anatoly Podgoretsky   (2005-02-14 17:08:00) [4]

Что значит первая, как определил что не первая. За Locate пакастей не замечено.


andrey__   (2005-02-14 17:01:00) [5]

>Anatoly Podgoretsky ©   (14.02.05 16:53) [8]
объясни что именно я ж уже исправился в andrey__   (14.02.05 14:03) [3]


Anatoly Podgoretsky   (2005-02-14 16:53:00) [6]

А проясниться так и не хочешь?


andrey__   (2005-02-14 16:17:00) [7]

>sniknik ©   (14.02.05 15:39) [6]

пробовал - всё тот же результат


sniknik   (2005-02-14 15:39:00) [8]

попробуй так
ADODataSet1.First;
ADODataSet1.Locate('Name',Trim(Edit1.Text),[loPartialKey])


msguns   (2005-02-14 15:22:00) [9]

Есть подозрение, что юзаются два датасета: один отображается, а во втором ищется. Причем ORDER BY у них либо отсутствуют вообще, либо отличаются


Anatoly Podgoretsky   (2005-02-14 14:10:00) [10]

Ничего себе прояснился :-)


andrey__   (2005-02-14 14:03:00) [11]

>Sergey13 ©   (14.02.05 12:43) [1]
нет датасет я никак не упорядочиваю

>Anatoly Podgoretsky ©   (14.02.05 12:56) [2]
>Что значит первая, последующая, прояснись, я как то в >недоумении.

Это значит что условию поиска соответствует несколько записей. Но локейт находит не первую запись соотв. условию, а одну из послудующих.


Anatoly Podgoretsky   (2005-02-14 12:56:00) [12]

Что значит первая, последующая, прояснись, я как то в недоумении.


Sergey13   (2005-02-14 12:43:00) [13]

А датасет как-то упорядочен?


Наверх

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