Поиск:

Ответ в темуСоздание новой темы Создание опроса
> зачем нужен append в Query? 
:(
    Опции темы
Гость_dasha
Дата 25.8.2005, 11:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Добрый день всем. Хотела спросить, может, кто знает, зачем компоненту ТQuery такие методы как AppendRecord, Insert и т.п, если он не привязан к конкретной таблице? К чему он будет добавлять записи? И можно ли этими методами как-то пользоваться?
Дело в том, что я сначала создавала таблицу с помощью TTable.CreateTable, потом делала AppendRecord. Теперь все это делает TQuery с помощью запросов, но записи добавляются ощутимо медленнее.
  Вверх
bursa
Дата 25.8.2005, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 25.2.2005
Где: Липецк

Репутация: 1
Всего: 1



Это для Query, у которых CachedUpdates=true

Это сообщение отредактировал(а) bursa - 25.8.2005, 11:42
PM MAIL   Вверх
Гость_dasha
Дата 25.8.2005, 11:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А как этим пользоваться? Мне как-то не попадалось литературы на эту тему. Может подскажете?
  Вверх
bursa
Дата 25.8.2005, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 25.2.2005
Где: Липецк

Репутация: 1
Всего: 1



В Query ставишь CachedUpdates:=true; ReadOnly=false
UpdateObject:=UpdateSQL1;

В UpdateSQL1.Update к примеру
update tovar set artikul=:my1 where id2=:my2

В Query1BeforePost
Код
    with UpdateSQL1.Query[ukModify] do begin
     Params[0].AsString := Query1.FieldByName('Artikul').asString;
     Params[1].AsInteger := Query1.FieldByName('Id2').asInteger;
    end;
   UpdateSQL1.Apply(ukModify);


Аналогично с добавлением и удалением данных

Смысл всего этого - в Гриде содержатся "закешированные" данные. Ты можешь их менять, удалять и пр. Но сами изменения только через SQL, прописанный UpdateSQL. Если не прописан SQL, изменения не фиксируются
PM MAIL   Вверх
Гость_dasha
Дата 25.8.2005, 14:02 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А ReadOnly где, в Гриде? У Query нет такого свойства.

А как эти события вызываются? Нужно написать Query1.UpdateRecord? В этом месте непонятно.
Допустим, я хочу добавить запись. Что писать? Query1.InsertRecord(...)? Тогда получится, что в UpdateSQL1.Insert нужно перечислять значения полей еще раз. Или я чего-то не понимаю? smile
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0662 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.