Главная страница
    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.46 MB
Время: 0.01 c
1-14607
Peroon
2002-11-24 19:32
2002.12.05
OpenDialog


1-14492
Daken
2002-11-26 07:15
2002.12.05
Помогите вытащить символ


1-14536
Sergey_Suhoy
2002-11-26 17:40
2002.12.05
Ошибка


3-14414
Filat
2002-11-11 21:38
2002.12.05
Delphi 6, Word, закладки и база данных!


1-14494
Vit@ly
2002-11-26 09:17
2002.12.05
Как поместить ComboBox на заголовок формы?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский