|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
ADOCommand и кеширование
Как заставить ADOCommand стать кешированной?
Я тут поковырялся в исходниках ADODataSet и понял, что все изменения пишутся в память (при LockType = ltBatchOptimistic), а потом по UpdateBatch заливаются на сервер (в отсутствии открытой транзакции). У ADOCommand есть где-нибудь аналог свойства LockType чтоб выставить его в ltBatchOptimistic? И здесь же: можно ли как-то заставить вернуть ADOCommand мне ID (autoinc) добавленной записи? Запрос вроде: Код:
Insert Into Table(f1,f2) Values(:f1, f2); select @@identity Внутри транзакции. Но хотелось бы без хранимки. Последний раз редактировалось Uniq!, 07.09.2014 в 22:49. |
#2
|
|||
|
|||
Цитата:
Вы хотите сначала как бэ выполнить несоклько команд, но чтобы они не выполнялись, а записались в буфер, а затем, выполнить типа ButchUpdate и выполнить все команды скопом. Так? На сколько я понял, компонент TADOCommand должен использоваться для создания различных таблиц и т.п (DDL операторы). Особого смысла кэшировать эти запросы нет. Вы его используете не совсем по назначению, отсюда и такие заботы. А что вам мешает занести эти команды, например в массив и затем выполнить последовательно? В порядке их добавления в массив? Можно ради такого дела даже свой компонент написать. Но все это костыли (ИМХО). |