Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.19;
Скачать: CL | DM;

Вниз

Delphi 5 + ADO - фичинг записей..   Найти похожие ветки 

 
Азазелло   (2002-08-28 14:12) [0]

Всем доброго времени суток!

Раньше работал только с IB и привык к тому, что TIBDataSet и TIBQuery
фичат на клиента только в видимую часть визуального компонента и дофичивают, если происходит перемещение.

К сожалению в ADOшных компонентах этого нет : (

MSSQL установлен удаленно, общение происходит посредством интернет, поэтому я не могу прописать в свойства TADODataSet
MaxRecords=0 и выставляю там 30 (тащатся первые тридцать записей).
При просмотре методов TADODataSet я не нашёл возможности фичить следующие тридцать или предыдущие тридцать. Если я знаю тип сортировки (допустим он по Id), то при позиционировании на последнюю (30-ю) запись я могу переоткрывать датасет с другим условием(where Id>=30) и брать следующие 30 записей. Но как тогда двигаться назад? Если мне не изменяет память, то в MSSQL есть возможность брать n TOP записей, но пользоваться этим ну совсем не хочется.

Подскажите пожалуйста, кто как решает данную проблему?

С уважением, Игорь.


 
Mike Kouzmine   (2002-08-28 14:33) [1]

А можно сделать глобальную переменную и присваивать ей значение, ну, например 30. при перемещении вперед увеличивать на дельту при назад - уменьшать на дельту, проверяя на мин возможное число и делать запросы where id > имя_переменной?


 
Азазелло   (2002-08-28 14:39) [2]

Датасетов у меня много.. неужели столько и перменных заводить? ;-) Да и пример в данном случае неудачный.. по Id. А если сортировка идёт по какому-либо другому (другого типа) полю?


 
Mike Kouzmine   (2002-08-28 14:47) [3]

А я не знааааю, я знаю только что в 21-00 по СТС идет мура! :)


 
Bond ©   (2002-08-28 15:43) [4]

А зачем тебе тащить по 30 записей?
Тащи по одной. Почему такое странное число - 30.

А вообще использовать клиент - серверную технологию для связи через интернет - крайне неэффективно. И вообще, я вчера статью читал, так наша Дельфя, и клиент-сервер это, пацаны, - прошлый век, если говорить о работе с БД. PHP - вот сила. Аж обидно...


 
Юрий Жуков ©   (2002-08-28 15:48) [5]

CaсheSize не подойдет?


 
Азазелло   (2002-08-28 16:15) [6]

30-40.. не важно, будет тащиться столько, чтобы полностью "закрывать данными" Grid-ы, которые отображаются пользователю.

А CacheSize - это количество записей, помещаемых в буфер, взятые из тех самых maxrecords (то есть в данном случае 30). Али я не прав??



 
Юрий Жуков ©   (2002-08-28 17:14) [7]

Не знаю, надо пробовать.

2Bond: Ню-ню. Это кто же тебя так обманул?



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

Текущий архив: 2002.09.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
14-61263
Nona
2002-08-20 13:58
2002.09.19
Скажите хочу научиться базам данных!


3-60927
RDA
2002-08-24 19:27
2002.09.19
Отчеты хранимые в базе данных


7-61331
VictorT
2002-07-10 19:16
2002.09.19
Програмное получение имени пользаователя Виндовс.


6-61229
Black Fox
2002-07-15 13:54
2002.09.19
работа с NetBios


1-61201
Hagis
2002-09-08 14:00
2002.09.19
Как в переменную типа String загнать 3 строку из текстового файла