powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / АNN: Создание приложений для СУБД Firebird: FireDAC
21 сообщений из 46, страница 2 из 2
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39145000
ZeroMQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисКстати у кого есть пожелания по улучшению внимательно выслушаю.
Оформить приложение в виде образцово-показательного приложения Windows.
Со стандартными менюшками (File, View, Help...), сплешскрином, окном About.
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39145080
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZeroMQ,

ты ещё скажи руководство пользователя для этого написать
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39145092
RADSeatle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
Хотел спросить можно ли в такое сделать snapshot режиме
Хочу заполнять в одной форме мастер и детайл сразу
Пример
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
  trWrite.StartTransaction;
  try
    //Вызываю процедуру с return id    
      qrySaveMaster.Execute();
      while not tmpdetail.Eof do
      begin
          qryproc.FieldByName('masterid').Value:=returnID;
          qryproc.FieldByName('qty').Value:=tmpdetail.fieldbyname('qty').value;
          qryproc.execute()
      end;
      qryProcUpdateBalanceTotal.Execute();
     trWrite.Commit;
     qryInvoice.Refresh;
    Action := caFree;
  except
    on E: Exception do
    begin
      if trWrite.Active then
        trWrite.Rollback;
      Application.ShowException(E);
      // It does not close the window give the user correct the error
      Action := caNone;
    end;
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39145096
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RADSeatleХотел спросить можно ли в такое сделать snapshot режиме

можно.

tmpdetail - это что ClientDataSet что ли? В FD можно использовать CachesUpdates не только для одной записи.
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39145097
RADSeatle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понятно да это времменный датасет который заполняет
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151311
RADSeatle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите если у меня 20 датасетов для них тоже надо создать отдельно WriteTransaction или один хватит для всех?
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151318
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Radseatle!
You wrote on 20 января 2016 г. 12:33:20:

Radseatle> Подскажите если у меня 20 датасетов для них тоже надо создать отдельно WriteTransaction или один хватит для всех?
абстрагируйся от датасетов.
думай о том, что транзакции живут на сервере.
а не в твоём приложении.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151341
RADSeatle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не понял примерно так?

то есть при нажатие кнопки
dataset1.updatetransaction:=Datamodule.WriteTransaction
dataset2.updatetransaction:=Datamodule.WriteTransaction
dataset3.updatetransaction:=Datamodule.WriteTransaction

Try
Datamodule.WriteTransaction.Starttransaction
dataset1.post;
dataset2.post
dataset3.post

dataset1.applyupdates;
dataset2.applyupdates;
dataset3.applyupdates;

dataset1.commit;
dataset2.commit;
dataset3.commit;

Datamodule.WriteTransaction.CommitTranscation
except
Datamodule.WriteTransaction.rollback
end
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151344
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бурные аплодисменты. зал встаёт. скандирует.
на сцену приглашается Денис.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151359
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151361
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RADSeatle,

1. какой на фиг коммит у датасета. Наверное имелся ввиду CommitUpdates;
2. распихивать отложенные изменения через сразу в несколько датасетов это просто ад. Можно конечно, но в ряде случаев может быть высока вероятность конфликтов. Когда делаешь добавления это ещё ладно, но массовый апдейт нескольких записей...
И ещё там точно надо прям использовать датасеты? Может проще использовать ХП, которые сами распихают в несколько табличек
3. Транзакций должно быть столько сколько нужно. Если у тебя несколько запросов должны быть выполнены в рамках одной транзакции, то нужно одну транзакцию.

И ещё подумай что кроме транзакций БД существуют ещё так называемые бизнес-транзакции. Возможно не надо пытаться скрестить ужа и ежа.

Мимопроходящий,

такого я там не советовал
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151363
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Kdv!
You wrote on 20 января 2016 г. 13:18:35:

Kdv> почитай
> http://www.ibase.ru/devinfo/ibx.htm#tran_use не катит же. у него ж сиэтл.
и он читал статью Дениса.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151369
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Симонов Денис!
You wrote on 20 января 2016 г. 13:20:11:

Симонов Денис> Мимопроходящий,
>
> такого я там не советовала всё теперь.
теперь ты в ответе за каждого хомячка которого приручил неофита прочитавшего твою статью
и соорудившего своё мегаприложение по образу и подобию.

зы: не рассматривай это как наезд :)

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151399
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RADSeatle,

я так понимаю ты пытаешься одним действием добавить шапку документа и его строки. Так?

Если уж решил так делать, то заметь, что DataSet.Post делается для каждой записи. Поэтому в режиме CachedUpdates Post не надо вносить в старт транзакции

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
    

DataSet1.CachedUpdates := True;
DataSet2.CachedUpdates := True;
DataSet3.CachedUpdates := True;

// действия по вставке, редактированию и удалению из датасетов
// соответственно post вызываются здесь для каждой записи у которой Insert или Update

try
  trWrite.StartTransaction;

  DataSet1.CommitUpdates;
  DataSet2.CommitUpdates;
  DataSet3.CommitUpdates;

  trWrite.Commit;

  DataSet1.CachedUpdates := False;
  DataSet2.CachedUpdates := False;
  DataSet3.CachedUpdates := False;
except
    on E: Exception do
    begin
      if trWrite.Active then
        trWrite.Rollback;
      ...
    end;  
end;
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151415
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисИ ещё подумай что кроме транзакций БД существуют ещё так называемые
бизнес-транзакции.
И в простейших случаях они обязаны совпадать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151436
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийне катит же. у него ж сиэтл.
и он читал статью Дениса.
да пох. там FireDAC, тут IBX, все равно прямое управление транзакциями, так что концепцию можно использовать одну и ту же.
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151451
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Kdv!
You wrote on 20 января 2016 г. 14:00:59:

Kdv> да пох. там FireDAC, тут IBX, все равно прямое управление транзакциями,
> так что концепцию можно использовать одну и ту же.противник прогресса!
ретроградный ортодокс!
реакционерный ястреб!
оголтелый мракобес!
обскурантный палеофрон!

в то время... когда наши... космические корабли... бороздят..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151473
RADSeatle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151532
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийретроградный ортодокс!
реакционерный ястреб!
оголтелый мракобес!
обскурантный палеофрон!
абстинентный синдром?
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151573
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Dbconstructor!
You wrote on 20 января 2016 г. 15:45:42:

Dbconstructor> абстинентный синдром?трансгрессивная идиосинкразия

не люблю школьников
даже кушать нэ магу
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
АNN: Создание приложений для СУБД Firebird: FireDAC
    #39151607
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий, "трансгрессивная" - наследственная чтоль?
...
Рейтинг: 0 / 0
21 сообщений из 46, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / АNN: Создание приложений для СУБД Firebird: FireDAC
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]