Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > зачем нужен append в Query? |
Автор: Гость_dasha 25.8.2005, 11:13 |
Добрый день всем. Хотела спросить, может, кто знает, зачем компоненту ТQuery такие методы как AppendRecord, Insert и т.п, если он не привязан к конкретной таблице? К чему он будет добавлять записи? И можно ли этими методами как-то пользоваться? Дело в том, что я сначала создавала таблицу с помощью TTable.CreateTable, потом делала AppendRecord. Теперь все это делает TQuery с помощью запросов, но записи добавляются ощутимо медленнее. |
Автор: bursa 25.8.2005, 11:40 |
Это для Query, у которых CachedUpdates=true |
Автор: Гость_dasha 25.8.2005, 11:50 |
А как этим пользоваться? Мне как-то не попадалось литературы на эту тему. Может подскажете? |
Автор: bursa 25.8.2005, 13:02 | ||
В Query ставишь CachedUpdates:=true; ReadOnly=false UpdateObject:=UpdateSQL1; В UpdateSQL1.Update к примеру update tovar set artikul=:my1 where id2=:my2 В Query1BeforePost
Аналогично с добавлением и удалением данных Смысл всего этого - в Гриде содержатся "закешированные" данные. Ты можешь их менять, удалять и пр. Но сами изменения только через SQL, прописанный UpdateSQL. Если не прописан SQL, изменения не фиксируются |
Автор: Гость_dasha 25.8.2005, 14:02 |
А ReadOnly где, в Гриде? У Query нет такого свойства. А как эти события вызываются? Нужно написать Query1.UpdateRecord? В этом месте непонятно. Допустим, я хочу добавить запись. Что писать? Query1.InsertRecord(...)? Тогда получится, что в UpdateSQL1.Insert нужно перечислять значения полей еще раз. Или я чего-то не понимаю? ![]() |