Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   AnyDAC für Firebird (https://www.delphipraxis.net/168332-anydac-fuer-firebird.html)

Kostas 15. Mai 2012 18:35

Datenbank: Firebird • Version: 2.5 • Zugriff über: AnyDAC

AnyDAC für Firebird
 
Hallo Zusammen,

ich arbeite schon seit vielen Jahren mit IBO und zwar nur mit den nativen Komponenten
für den Zugriff auf Firebird. Vor kurzem habe ich umgestellt von Delphi5 auf Delphi XE2.
Ich habe eine Menge Projekte mit IBO umgesetzt. Dennoch möchte ich bei dem Wechsel
auch möglicherweise IBO ersetzen durch AnyDAC. Vieleicht bin ich auch zu verwöhnt durch
IBO. Aber es tauchen eine Menge Fragen auf wenn man die Komponenten nicht kennt.

Gibt es jemand im Forum der AnyDAC in Verbindung mit Firebird im Einsatz hat?
Im Forum habe ich kaum Berichte gefunden.

Meine erste Frage wäre das Handling mit Generator. Gibt es eine Methode ein Generatorwert
abzufragen mit und ohne Inkrementieren? In IBO geht das so:
Code:
ReNr := Query.GEN_ID('GEN_RECHNUNGSNR',1);
dabei wird GEN_RECHNUNGSNR inkrementiert und der neue Wert als result zurückgegeben. Wenn im zweiten
Parameter eine 0 steht, wird der der aktuelle Generatorwert zurückgegeben.

Gruß Kostas

haentschman 15. Mai 2012 18:47

AW: AnyDAC für Firebird
 
Hallo...
Zitat:

Gibt es eine Methode ein Generatorwert abzufragen mit und ohne Inkrementieren
... wozu soll das gut sein ? Wenn ein Insert stattfindet kannst du mit "returnig" dir die neue ID (welche durch den Generator gesetzt wurde) zurückgeben lassen.

Kostas 15. Mai 2012 19:55

AW: AnyDAC für Firebird
 
Sorry, ich hätte erwähnen müssen das ich Generatoren auch für andere Fälle benutze, nicht nur für
PK-Felder. Die RechnungsNr als BelegNr wird z.B.: nicht beim Anlegen einer Rechnung vergeben sondern
erst unmittelbar vor dem "Echt" Druck. Somit vermeide ich ReNr-Lücken. Das ist ein Anwendungsfall.
Manchmal benötige ich den PK-Wert vor dem Inserten in die DB um z.B.: Detaildatensätze in ein Array
zu bilden. Erst wenn ich alle Daten zusammenhabe, schreibe ich zu Fuß die Daten in die DB. Denn es kann
vorkommen dass erst beim Generieren der Detaildatensätze der komplette Vorgang verworfen werden muss.


Gibt es denn so eine Methode um ein Generatorwert abzufragen ob muss man das selbst machen?
Gruß Kostas

mkinzler 15. Mai 2012 20:07

AW: AnyDAC für Firebird
 
Ich kenne AnyDAC nicht, aber mit
SQL-Code:
select GEN_ID('GEN_RECHNUNGSNR',1) from RDB$DATABASE;
sollte es funktionieren

Kostas 15. Mai 2012 20:34

AW: AnyDAC für Firebird
 
Zitat:

Zitat von mkinzler (Beitrag 1166700)
Ich kenne AnyDAC nicht, aber mit
SQL-Code:
select GEN_ID('GEN_RECHNUNGSNR',1) from RDB$DATABASE;
sollte es funktionieren

Hallo Markus,
so gehts schon. Ich muss halt dafür eine Query bereithalten.

Gruß Kostas.

mkinzler 15. Mai 2012 20:37

AW: AnyDAC für Firebird
 
http://www.da-soft.com/anydac/docu/A...al_Fields.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:52 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