Форум: "Базы";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];
ВнизTQuery.Locate Найти похожие ветки
← →
Hermit (2002-02-05 15:49) [0]Существует ли какое-либо ограничение на работу Locate в TQuery, который выбирает данные из нескольких таблиц (около 10), размещенных на сервере?
Сейчас делаю выборку из таблиц, расположенных на сервере, пытаюсь зделать локейт на запись, которая заведомо попадает в выборку - результат отрицательный, если же результат выборки записываю во временную таблицу, затем простой Query (SELECT * FROM TableName) и по нему тот-же Locate - результат положительный. В чем проблема?
← →
kserg@ukr.net (2002-02-06 11:59) [1]Никогда с такими глюками с Locate-ом не сталкивался.
Уважаемый, покажи код select-a
и Locate - сдается мне, что проблемы в последней.
← →
yaJohn (2002-02-06 12:06) [2]Mojet Filter? Drugih idey net...
← →
Hawk2 (2002-02-06 12:13) [3]Если тебе нужно использовать Locate то может лучше через TTable, а если пользуешся TQuery, то проще через запрос.
← →
kserg@ukr.net (2002-02-06 12:38) [4]>Hawk2 Уважаемый, если через запрос, то в рассматриваемом случае он вернет единственную запись...
Я например использую TQuery.Locate для позиционирования на измененную запись после Update и ReOpen обновленного набора данных.
← →
User_OKA (2002-02-06 13:45) [5]to kserg@ukr.net (06.02.02 12:38)
А если набор данных содержит с десяток тысяч записей, хотел бы я посмотреть на выражение лица юзера, пока он дожидается такого позиционирования на измененную запись! :)
← →
fnatali (2002-02-06 14:07) [6]User_OKA © (06.02.02 13:45)
А если набор данных содержит с десяток тысяч записей, хотел бы я посмотреть на выражение лица юзера, пока он дожидается такого позиционирования на измененную запись! :)
А такой большой набор - это очень дурной тон (IMHO), юзер всё равно не сможет с ним работать.
← →
User_OKA (2002-02-07 07:25) [7]to fnatali © (06.02.02 14:07)
"А такой большой набор - это очень дурной тон"
Да кто тебе это сказал? Если отказаться от Locate и выдавать пользователю с помошью запросов то, что он желает видеть, набор может не десятки тысяч, а миллионы записей содержать!
← →
Фэ (2002-02-07 09:49) [8]to User_OKA ©
В форуме Вам пока слушать надо, что специалисты говорят, а не давать самому советы.
Ваш совет про миллионы записей как раз об этом и говорит.
Для того и существует клиент-сервер, чтобы на клиента отдать минимум данных для снижения трафика в первую очередь.
Искать же все равно приходиться, в т.числе и Locate.
По сути же вопроса.
У меня эта ситуация встречалась и, на мой взгляд, это некорректность TDataSet.
Поскольку ситуация встречалась и с Paradox и с СУБД DBISAM и ее TDBISAMQuery, наследницей от TDataset.
Правда, с одной оговоркой - тогда, когда запрос содержал "WHERE .. IN(..)"
← →
User_OKA (2002-02-07 13:44) [9]to Фэ
Советы советами, но, по-моему, форум - это ещё и обмен мнениями. Как говорится, что думаю, то и говорю, а если что и советую, исхожу из личного опыта. :)
Теперь про миллионы. При использовании TFIBQuery я могу и миллион записей выбрать, но клиенту все равно передадутся ровно столько, сколько умещается в TDBGrid (к вопросу о трафике). А вот уж если я Locate запущу, тогда и пойдет перебор всего миллиона. Если же юзеру предоставить возможность гибкой фильтрации, он сам с помощью фильтра может выбрать то, что ему нужно.
Теперь готов послушать, что специалисты говорят.
← →
Johnmen (2002-02-07 14:45) [10]Конечно работать с большим НД - не вполне корректный подход.
Сначала надо попытаться его максимально сузить, накладывая ограничения в запросе.
А по поводу глюка - у меня друган сталкивался именно с таким !
[D5,IB5]
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c