Главная страница
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.017 c
3-60969
LEKSYS
2002-08-28 14:46
2002.09.19
FindTree


3-60987
klik
2002-08-29 12:33
2002.09.19
Как удалить запись?


1-61039
Ionv
2002-09-09 08:52
2002.09.19
Проблема при работе с портами


14-61271
RV
2002-08-22 19:34
2002.09.19
опрос...Кто кем работал до сегодняшнего дня?


7-61329
Lex_2000
2002-05-13 13:07
2002.09.19
Проблема переноса программы с Win98 на NT. (+)