![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 > имя_переменной?