Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   DBExpress (https://www.delphipraxis.net/153187-dbexpress.html)

ATS3788 23. Jul 2010 21:20

Datenbank: Firebird • Version: 2.1 • Zugriff über: DBExpress

DBExpress
 
Hallo
Ich greife auf eine Firebird Datenbank
mit DBExpress zu. Klappt auch alles wunderbar
ich kann lesen und schreiben.
Na ja nicht so richtig.

Irgendwie macht meine Anwendung kein "Commit Data"

Wenn ich die Datenbank trenne und wieder verbinde,
sind die Daten nicht geschrieben worden.

Ich benutze eine
TSQLConnection -> TSQLDataset -> TClientDataset -> TDatasetProvider -> TDataSource -> TDBGrid

omata 23. Jul 2010 23:17

AW: DBExpress
 
Im ClientDataSet muss im OnAfterPost ein ApplyUpdates durchgeführt werden.

ATS3788 24. Jul 2010 05:57

AW: DBExpress
 
Danke

Delphi-Quellcode:
procedure TDataModule2.ClientDataSet1AfterPost(DataSet: TDataSet);
begin
 ClientDataSet1.ApplyUpdates(10);
end;
Dummerweise sagt mir der Compiler "Can't motify a read only Database",

wo soll die Einstellung um schreiben zu können sein.

mkinzler 24. Jul 2010 07:09

AW: DBExpress
 
Wie sieht die Abfrage aus?

ATS3788 24. Jul 2010 10:50

AW: DBExpress
 
Zitat:

INTERBASE - isc_dsql_allocate_statement
INTERBASE - isc_start_transaction
SELECT * FROM "DATA"
INTERBASE - isc_dsql_prepare
INTERBASE - isc_dsql_describe_bind
INTERBASE - SQLDialect = 3
INTERBASE - isc_dsql_execute
INTERBASE - isc_dsql_fetch
INTERBASE - isc_dsql_allocate_statement
INTERBASE - isc_start_transaction
SELECT NULL, NULL, I.RDB$RELATION_NAME, CASE WHEN C.RDB$CONSTRAINT_NAME IS NULL THEN I.RDB$INDEX_NAME ELSE C.RDB$CONSTRAINT_NAME END, C.RDB$CONSTRAINT_NAME, CASE WHEN C.RDB$CONSTRAINT_TYPE='PRIMARY KEY' THEN 1 ELSE 0 END, COALESCE(I.RDB$UNIQUE_FLAG,0), COALESCE(1-I.RDB$INDEX_TYPE,1) FROM RDB$INDICES I LEFT OUTER JOIN RDB$RELATION_CONSTRAINTS C ON I.RDB$INDEX_NAME = C.RDB$INDEX_NAME WHERE (1<2 OR (1=2)) AND (1<2 OR (1=2)) AND (I.RDB$RELATION_NAME = ? OR (1=2)) ORDER BY 3, 4
INTERBASE - isc_dsql_prepare
INTERBASE - isc_dsql_describe_bind
INTERBASE - SQLDialect = 3
INTERBASE - isc_dsql_execute
INTERBASE - isc_dsql_fetch
INTERBASE - isc_commit_transaction
INTERBASE - isc_dsql_free_statement
INTERBASE - isc_dsql_free_statement
INTERBASE - isc_dsql_free_statement
INTERBASE - isc_dsql_fetch
INTERBASE - isc_dsql_fetch
INTERBASE - isc_dsql_fetch
INTERBASE - isc_commit_transaction
INTERBASE - isc_dsql_free_statement
INTERBASE - isc_dsql_free_statement
INTERBASE - isc_dsql_free_statement
INTERBASE - isc_dsql_allocate_statement
INTERBASE - isc_start_transaction
SELECT * FROM "BLOB"

INTERBASE - isc_dsql_prepare
INTERBASE - isc_dsql_describe_bind
INTERBASE - SQLDialect = 3
INTERBASE - isc_dsql_execute
INTERBASE - isc_dsql_fetch
INTERBASE - isc_commit_transaction
INTERBASE - isc_dsql_free_statement
INTERBASE - isc_dsql_free_statement
INTERBASE - isc_dsql_free_statement
Das Logging sieht so aus, eigentlich OK, oder ?

Werde doch wohl wieder Zeos installieren

omata 24. Jul 2010 12:56

AW: DBExpress
 
Schau dir doch mal mein Beispiel an, vielleicht hilft es ja.

ATS3788 24. Jul 2010 18:30

AW: DBExpress
 
Danke bei DIR pascht es.

Muß ich mal schauen und werde dann die Lösung posten.

Das ist doch echt sch..... Da kannst du den Navigator glatt den
Hasen geben, oder so umschreiben das der Navigator Nutzlos ist.

Werde doch Zeos benutzen.
Danke für eure Hilfe besonders "omata".


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz