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

Вниз

Аналог UpdateRecord но без CashedUpdates   Найти похожие ветки 

 
DelphiLexx ©   (2006-12-01 16:53) [0]

Есть FIBDataSet. Когда я подтверждаю изменения через Post. То у меня на Insert должен сработать один код на Update другой. Расположить в InsertSql и UpdateSql нет возможности из-за того, что Sql формируется динамически в программе. Как узнать, что после подтверждения данных методом Post была вставка или обновление, чтобы правидьно применить запросы.
Моя идея легко реализуется через UpdateRecord, но это требует CashedUpdates = True, а это мне нужно.


 
DelphiLexx ©   (2006-12-01 17:23) [1]


> DelphiLexx

Есть такой код:

 MemoryDS.Append;
 MemoryDS.FieldByName("RAW_ID").AsInteger := P.ArrayData[0];
 MemoryDS.FieldByName("RAW_NAME").AsString := P.ArrayData[1];
 MemoryDS.Post;

После Post"a должна сработать процедура ExecSql - моя самопольная, которая выполняет любой SQL-запрос.

if (был insert) then
       ExecSQL(DBConnection,
         "insert into MY_TABLE (RAW_ID, RAW_NAME) " +
         "values(:RAW_ID, :RAW_NAME)",
         [MemoryDS.FieldByName("RAW_ID").AsInteger,
          MemoryDS.FieldByName("RAW_NAME").AsString], tmpTran);
else if (был Update) then
...


 
Рамиль ©   (2006-12-01 18:04) [2]

OnNewRecord
 IsNewRecord := true;

AfterPost
 if IsNewRecord then ...
 IsNewRecord := false;


 
Рамиль ©   (2006-12-01 18:06) [3]

еще при отмене обратно в false вернуть.


 
DelphiLexx ©   (2006-12-01 18:12) [4]


> еще при отмене обратно в false вернуть.

Тогда можно проще организовать в BeforePost

if FIBDataSet.State in [dsInsert] then
...



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

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

Наверх




Память: 0.45 MB
Время: 0.041 c
2-1170747319
Neket
2007-02-06 10:35
2007.02.25
FTP


2-1171017452
User_OKA
2007-02-09 13:37
2007.02.25
база Interbase


2-1170742872
Нож
2007-02-06 09:21
2007.02.25
Interbase тормозит... почему?


9-1144847644
undimon
2006-04-12 17:14
2007.02.25
Алгоритм поиска пути


15-1170252972
Ломброзо
2007-01-31 17:16
2007.02.25
Помогите с бухучётом :)





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