Показать сообщение отдельно
  #4  
Старый 29.08.2010, 15:09
gebs gebs вне форума
Прохожий
 
Регистрация: 03.08.2010
Сообщения: 48
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
1. Запросы типа Update выполняются с помощью метода ExecSQL. Вызов метода Open (или "передергивание" св-ва Active) приведет к ошибке времени выполнения.
2. Как уже сказали, DBGrid только отражает текущую выборку. Все данные загружены в источник данных - TQuery, TTable, etc. У тебя есть 2 варианта. Первый: добавить либо специалбный компонент для запросов DELETE, UPDATE, INSERT, написать эти запросы и тогда можно пользоваться методами Edit, Delete, Append с последующим вызовом метода Post для фиксации изменений. Второй: выполнить изменения с помощью дополнительного компонента, а потом перечитать данные через основной источник данных.
3. Текущая строка в DBGrid соответствует текущей строке в источнике данных. Соответсвенно, значение какого-либо поля можно получить напрямую из источника данных:
Код:
Query.ParambyName('id').asinteger:= mainDataSet.FieldByName('id').AsInteger;

Мда, сложно даются азы. У меня DBGrid подключен через MyQuery к MyDAtaSource. В компоненте MyQuery уже есть DELETE, UPDATE, INSERT но они у меня пусты. Их надо заполнить соответсвующими запросами?
Ответить с цитированием