Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.05;
Скачать: CL | DM;

Вниз

Не подскажите люди, как мне перевести ИМЕННО запись в режим редак   Найти похожие ветки 

 
Kurt   (2002-11-15 10:36) [0]

Не подскажите люди, как мне перевести ИМЕННО всю запись в режим редактирования а не какое-то поле?


 
stone ©   (2002-11-15 10:38) [1]

ИМЕННО запись переводится в режим редактирования
Table1.Edit;


 
Kurt   (2002-11-15 10:43) [2]

а не поле?
а как тогда уже допустим изменив 2 поля записи все отменить?
ведь при Teble1.Edit после каждого перехода к другому полю Post делает, или я не прав. поправьте.


 
exit   (2002-11-15 10:44) [3]


TQuery.CachedUpdates := True
+
TQuery.ApplyUpdates
+
TQuery.CancelUpdates


 
stone ©   (2002-11-15 10:53) [4]

Kurt (15.11.02 10:43)


> Teble1.Edit после каждого перехода к другому полю Post делает


не прав, просто передается фокус от одного поля к другому, если бы таблица постилась при каждом переходе от поля к полю, то каждый раз пришлось бы вызывать Edit. А если быть точным, то таблица переходит в состояния редактирования, а не поле или запись, не надо путать набор данных с его визуальным отображением.


> а как тогда уже допустим изменив 2 поля записи все отменить?

Table1.Cancel;


 
Romkin ©   (2002-11-15 10:53) [5]

Edit - переводит в режим редактирования, Post - запоминает изменения в текущей записи, Cancel - отменяет их. При переходе к другой записи выполняется Post или Cancel - если в DBGrid установлено. При чем здесь разные поля одной записи?


 
Kurt   (2002-11-15 11:02) [6]

exit! это для АДО?
То есть преед редактированием надо врубить
Query.CachedUpdates := True
а потом по окончании или отменить Query.CancelUpdates или применить Query.ApplyUpdates , так?
а потом Query.CachedUpdates в false обратно надо переводить?




 
Kurt   (2002-11-15 11:19) [7]

Люди! а вставка? когда делаю Insert, то у меня пишет "ошибка неизвестного типа", что это значит?


 
exit   (2002-11-15 11:22) [8]

В дизайне поставь для TQuery (я намеренно написал имя класса, какие ADO) CachedUpdates := true; RequestLive := true; напиши запрос SQL и подключи TUpdateSQL с соотв. SQL. Потом в run"е переводишь TQuery в Edit или Insert, делаешь Post столько же раз, а когда надоест - Пишешь TQuery.ApplyUpdates.
Вот пример:

Transaction.StartTransaction;
Query1.Edit;
Query1.Fields[0].AsInteger := 12;
Query1.Post;
Query1.Insert;
Query1.Fields[0].AsInteger := 15;
Query1.Fields[10].AsFloat := 0.234;
Query1.Post;
try
Query1.ApplyUpdates;
Transaction.Commit;
except on E: Exception do
begin
MessageBox(Application.Handle, PChar(E.Message), PChar("Ошибка"), MB_OK+MB_ICONEXCLAMATION+MB_TASKMODAL);
TQuery.CancelUpdates;
Transaction.Rollback;
end;
end;

Прописные истины...
И для ADO это тоже есть. Может быть немного методы названиями отличаются, но...


 
Kurt   (2002-11-15 11:32) [9]

CachedUpdates это для чего, не подскажешь?
извини заранее за ламерский вопрос:-)


 
exit   (2002-11-15 11:48) [10]

Вообще-то есть F1...
А в двух словах, когда "это" true, все изменения DataSet"a лежат на клиенте до применения ApplyUpdates, который (метод) пробует слить наработанное в базу. Не стоит этим увлекаться при использовании локальных СУБД (особенно). Иначе - Deadlock. То есть закончил с записью - Apply


 
Kurt   (2002-11-15 11:59) [11]

у меня АДО-элементы. Я делаю Инсерт. И при переходе к полям вставленной записис (при каждом ереходе к следующему полю) происходит "Ошибка неизвестного типа". но все вроде вставляется и так далее. Не подскажите в чем проблема?



Страницы: 1 вся ветка

Текущий архив: 2002.12.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
14-14791
MsGuns
2002-11-13 20:09
2002.12.05
Покупаем комп


3-14378
Kurt
2002-11-19 16:35
2002.12.05
А можно ли в параметеризированными ADOQuery ставить фильтр?


3-14358
bamston
2002-11-15 10:49
2002.12.05
DBGrid Columns


14-14792
dkDimon
2002-11-14 23:23
2002.12.05
Иваново


3-14418
Step[B.M.]
2002-11-16 17:55
2002.12.05
Как в Firebird поменять пароль SYSDBA ???