Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
1-14659
Whippi
2002-11-25 17:08
2002.12.05
Где Create Component Template ?


14-14817
OlegS Astana
2002-11-16 09:01
2002.12.05
Работа с градусами


14-14728
Wolf226
2002-11-12 10:12
2002.12.05
Приколы типа


1-14552
Peroon
2002-11-27 02:44
2002.12.05
Как динамически создать/уничтожить метод-обработчик


1-14650
Andrushk
2002-11-25 14:57
2002.12.05
Normal to MDI





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский