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

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

Delphi 5 + ADO - фичинг записей.. [D5, MSSQL]


Азазелло ©   (2002-08-28 14:12:00) 

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

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

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

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

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

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


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

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

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


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

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

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


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

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


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

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

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


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

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


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

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


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

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


Наверх

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