You get 100% control of transactions as follows:
1. There will always be an open transaction when using Interbase / Firebird, so leave the default transaction exclusively for that;
2. Add another UniTransaction component;
3. Link the new UniTransaction to the UpdateTransaction property of the TUniQuery components;
4. The final step and the MOST IMPORTANT OF ALL: in each TUniQuery, in SpeciftOptions, Interbase drive, set AutoCommit = False.
To use, just do the StartTransaction, Commit and Rollback using the TUnITransaction component (not the connection). All queries linked by the UpdateTransaction property shared the same transaction ... if you rollback, any changes to any linked query will be undone.
Enjoy.
Search found 21 matches
- Fri 21 Feb 2020 01:26
- Forum: InterBase Data Access Components
- Topic: Open transactions
- Replies: 6
- Views: 4009
- Thu 10 Oct 2013 15:08
- Forum: Universal Data Access Components
- Topic: Error: PostgreSql Master-Detail in Delphi XE3
- Replies: 11
- Views: 1920
- Mon 07 Oct 2013 23:11
- Forum: Universal Data Access Components
- Topic: Error: PostgreSql Master-Detail in Delphi XE3
- Replies: 11
- Views: 1920
Re: Error: PostgreSql Master-Detail in Delphi XE3
AlexP,
can you confirm that you have received the mail on 09/25/2013?
Thank you.
can you confirm that you have received the mail on 09/25/2013?
Thank you.
- Wed 25 Sep 2013 16:43
- Forum: Universal Data Access Components
- Topic: Error: PostgreSql Master-Detail in Delphi XE3
- Replies: 11
- Views: 1920
Re: Error: PostgreSql Master-Detail in Delphi XE3
Email sent today. Thank you.
- Sun 22 Sep 2013 00:19
- Forum: Universal Data Access Components
- Topic: Error: PostgreSql Master-Detail in Delphi XE3
- Replies: 11
- Views: 1920
Re: Error: PostgreSql Master-Detail in Delphi XE3
PS: The the old version is 4.6.12 (works normally)
- Sat 21 Sep 2013 22:59
- Forum: Universal Data Access Components
- Topic: Error: PostgreSql Master-Detail in Delphi XE3
- Replies: 11
- Views: 1920
Re: Error: PostgreSql Master-Detail in Delphi XE3
TPgQuery.Options.QuoteNames = FALSE
Like I mentioned in the first post, in DESIGNTIME when I move the master dataset, datasets detail are also updated. In RUNTIME when I move the master dataset, datasets details are not updated, they remain in the same record.
With the Oracle database I can make it work IF I create all DataFields of Dataset with the names in uppercase.
With the PostgreSQL database the detail datasets are NEVER updated when I move the master dataset.
It's that simple, and it only began to occur after upgrading to version 5.0.2, I'm thinking of going back to the old version, since I can not find a solution to this problem.
Like I mentioned in the first post, in DESIGNTIME when I move the master dataset, datasets detail are also updated. In RUNTIME when I move the master dataset, datasets details are not updated, they remain in the same record.
With the Oracle database I can make it work IF I create all DataFields of Dataset with the names in uppercase.
With the PostgreSQL database the detail datasets are NEVER updated when I move the master dataset.
It's that simple, and it only began to occur after upgrading to version 5.0.2, I'm thinking of going back to the old version, since I can not find a solution to this problem.
- Wed 18 Sep 2013 19:48
- Forum: Universal Data Access Components
- Topic: Error: PostgreSql Master-Detail in Delphi XE3
- Replies: 11
- Views: 1920
Re: Error: PostgreSql Master-Detail in Delphi XE3
I found the reason for the problem to occur. In the previous UniDAC I used as database development Oracle, then my TUniConnection in datamodule pointed to a Oracle connection.
Since March/2013 we started using PostgreSQL as database development, and Oracle as database production, then my TUniConnection in datamodule currently points to a connection PostgreSQL.
When I put a new component TUniQuery in the form (connected to PostgreSQL), when I add the fields to the component (Ctrl + F) the name of them comes in lowercase.
When I open a query detail, as the master query fields are in lowercase, the UniDAC is involving the name of the input parameters in quotation marks.
I did the test: With the Object Inspector I converted all field names of the queries to uppercase and the detail queries now operating normally.
Something has changed in version 5.0.2, the parameters of the queries started getting case sensitive.
Since March/2013 we started using PostgreSQL as database development, and Oracle as database production, then my TUniConnection in datamodule currently points to a connection PostgreSQL.
When I put a new component TUniQuery in the form (connected to PostgreSQL), when I add the fields to the component (Ctrl + F) the name of them comes in lowercase.
When I open a query detail, as the master query fields are in lowercase, the UniDAC is involving the name of the input parameters in quotation marks.
I did the test: With the Object Inspector I converted all field names of the queries to uppercase and the detail queries now operating normally.
Something has changed in version 5.0.2, the parameters of the queries started getting case sensitive.
- Wed 18 Sep 2013 18:46
- Forum: Universal Data Access Components
- Topic: Error: PostgreSql Master-Detail in Delphi XE3
- Replies: 11
- Views: 1920
Re: Error: PostgreSql Master-Detail in Delphi XE3
Finally found the bug, with the help of DbMonitor. I noticed that in all the queries parameter values were passed correctly, BUT the parameter name appeared in quotation marks. I did a test putting SQLText parameters in quotation marks and the master detail returned to work. Then:
SELECT * FROM TableB WHERE field1 =: key -> Does not work
SELECT * FROM TableB WHERE field1 =: "key" -> works normally
The strangest detail of all this: In Oracle, the master-detail relationships created in earlier versions of UniDAC work, any new TUniQuery I put in the form the master-detail no longer works. In PostgreSQL, master-detail relationships do not work, both those created in previous versions and for the new ones.
What can be causing this problem? I have no other versions of the product installed, I always completely uninstall the previous version before installing the new.
SELECT * FROM TableB WHERE field1 =: key -> Does not work
SELECT * FROM TableB WHERE field1 =: "key" -> works normally
The strangest detail of all this: In Oracle, the master-detail relationships created in earlier versions of UniDAC work, any new TUniQuery I put in the form the master-detail no longer works. In PostgreSQL, master-detail relationships do not work, both those created in previous versions and for the new ones.
What can be causing this problem? I have no other versions of the product installed, I always completely uninstall the previous version before installing the new.
- Wed 14 Aug 2013 16:09
- Forum: Universal Data Access Components
- Topic: Error: PostgreSql Master-Detail in Delphi XE3
- Replies: 11
- Views: 1920
Error: PostgreSql Master-Detail in Delphi XE3
The error continues to PostgreSql, even in version 5.0.2. With Oracle works correctly, but in PostgreSql only works in design time, at runtime does not work.5.0.1 25-Apr-13
Rad Studio XE4 is supported
NEXTGEN compiler is supported
Application development for iOS is supported
Connection string support is added
Possibility to encrypt entire tables and datasets is added
Possibility to determine if data in a field is encrypted is added
Support of TimeStamp, Single and Extended fields in VirtualTable is added
Migration from PgDAC and LiteDAC is added to the Migration Wizard
Migration from AnyDAC and FireDAC is added to the Migration Wizard
Bug with Master-Detail for TClientDataSet in Rad Studio XE3 is fixed
Bug with Master-Detail by non-English fields is fixed
Bug with IndexFieldNames by non-English fields is fixed
...
- Wed 26 Nov 2008 12:59
- Forum: Oracle Data Access Components
- Topic: Master/Detail error in version 6.50.0.37
- Replies: 5
- Views: 2790
- Fri 14 Nov 2008 17:37
- Forum: Oracle Data Access Components
- Topic: Master/Detail error in version 6.50.0.37
- Replies: 5
- Views: 2790
His trick worked, but it would be possible to include this option in TOraSession? All I create new datamodule have to remember to put this code or I will have problems.
Thanks.
Sorry by my bad english
Thanks.
Sorry by my bad english
Plash wrote:The new ODAC version does not refresh the detail dataset when a record is inserted in the master dataset.
In the next ODAC build we'll add the RefreshParamsOnInsert global variable that you can set to True to get the old behaviour:Code: Select all
initialization RefreshParamsOnInsert := True; end;
- Tue 21 Oct 2008 18:14
- Forum: Oracle Data Access Components
- Topic: ODAC Direct Connection very Slow
- Replies: 1
- Views: 2335
ODAC Direct Connection very Slow
I have the query below:
When the run with the Odac using the Oracle OCI 11 it runs in 0.41 sec.
When the run with the Odac using the direct connection (TCP-IP) to Oracle 11 it runs in 28.0 sec.
Why? I have no firewall on the server and not on the client.
With Oracle 9 the direct connection run faster.
Thanks.
Sorry by my BAD english
Code: Select all
SELECT a1.tipo_local LOCAL,
nome_tipo_local (a1.tipo_local) nomelocal, i1.DATA, t.descricao,
SUM (i1.area) cm,
SUM (calc_proporcional(a1.total_publicacoes,
a1.total_cores,
a1.total_bonus,
a1.desconto,
a1.desconto_condicional,
i1.valor_total,
i1.valor_cor,
i1.bonificado,
pega_cobrar_cores_contrato (a1.cod_cli,
a1.numero_contrato)
)) valor
FROM anuncios_itens i1, anuncios a1, tabela_precos_itens t
WHERE (i1.DATA BETWEEN :data1 AND :data2)
AND (i1.situacao NOT IN (2, 3)) /* Exclui compensação e reprogramado */
AND (i1.suspenso = 'N')
AND (a1.num_pedido = i1.num_pedido)
AND (a1.produto = :cod_prod)
AND (a1.cancelado = 'N')
AND (a1.situacao_bloqueio IN (0, 2))
AND (t.cod_tab = a1.tabela_precos)
AND (t.item = a1.tabela_precos_item)
GROUP BY i1.DATA,
a1.tipo_local,
nome_tipo_local (a1.tipo_local),
t.descricao
ORDER BY i1.DATA, a1.tipo_local, t.descricao
When the run with the Odac using the Oracle OCI 11 it runs in 0.41 sec.
When the run with the Odac using the direct connection (TCP-IP) to Oracle 11 it runs in 28.0 sec.
Why? I have no firewall on the server and not on the client.
With Oracle 9 the direct connection run faster.
Thanks.
Sorry by my BAD english
- Fri 12 Sep 2008 14:43
- Forum: Oracle Data Access Components
- Topic: Master/Detail error in version 6.50.0.37
- Replies: 5
- Views: 2790
Master/Detail error in version 6.50.0.37
After I installed the version 6.50.0.37 21-Aug-08
I began to have problems with tables master / detail during insertion, table detail does not bring any record, only if I make a close and then open one.
Why?
Sorry for my BAD english.
PS: Build again in version 6.50.0.35 and all ok.
I began to have problems with tables master / detail during insertion, table detail does not bring any record, only if I make a close and then open one.
Why?
Sorry for my BAD english.
PS: Build again in version 6.50.0.35 and all ok.
- Thu 10 Jul 2008 16:56
- Forum: Universal Data Access Components
- Topic: Unidac for FastReport
- Replies: 4
- Views: 7006
- Thu 10 Jul 2008 16:50
- Forum: Oracle Data Access Components
- Topic: ODAC component for FastReport
- Replies: 4
- Views: 3589