Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBExpress: Trigger + Generator? (https://www.delphipraxis.net/171662-dbexpress-trigger-generator.html)

stahli 17. Nov 2012 21:08

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

DBExpress: Trigger + Generator?
 
Liste der Anhänge anzeigen (Anzahl: 2)
Ich habe eine FB-Datenbank mit einem "AutoInc"-Feld.
Trigger + Generator für ID ist eingerichtet.

Im IBExpert funktioniert das auch.

Im Daten-Explorer und in meiner Anwendung (über DBExpress) wird bemeckert, dass ID einen Wert haben muss.

Wieso greift der Trigger nicht?
Im DatenExplorer kann ich das ja aber gar nicht beeinflussen...

Perlsau 17. Nov 2012 23:23

AW: DBExpress: Trigger + Generator?
 
Zitat:

Zitat von stahli (Beitrag 1191745)
Ich habe eine FB-Datenbank mit einem "AutoInc"-Feld.
Trigger + Generator für ID ist eingerichtet.
Im IBExpert funktioniert das auch.
Im Daten-Explorer und in meiner Anwendung (über DBExpress) wird bemeckert, dass ID einen Wert haben muss.
Wieso greift der Trigger nicht?
Im DatenExplorer kann ich das ja aber gar nicht beeinflussen...

Schau mal, ob dein Dataset im ObjectInspector ein Boolean-Property namens AutoCalcFields oder so ähnlich hat. Ich kann gerade nicht selber nachschauen, weil ich mein Radstudio neu installieren mußte (nach Plattencrash) und bei Embarcardero mein Registrierungs-Limit wohl erschöpft ist.

stahli 17. Nov 2012 23:41

AW: DBExpress: Trigger + Generator?
 
Ok danke, das hilft (in Stückchen).
Man muss also ein persistentes Feld anlegen und dort AutoGenerateValue=arAutoInc setzen.

Perlsau 17. Nov 2012 23:44

AW: DBExpress: Trigger + Generator?
 
Zitat:

Zitat von stahli (Beitrag 1191768)
Ok danke, das hilft (in Stückchen).

Gern geschehen, hab gerade nichts besseres zu tun als auf Installationsende zu warten ... mach ich schon den ganzen Tag :evil:

Zitat:

Zitat von stahli (Beitrag 1191768)
Man muss also ein persistentes Feld anlegen und dort AutoGenerateValue=arAutoInc setzen.

Funktioniert's denn jetzt? Ich arbeite immer mit persistenten Feldern, da weiß man, was man hat :stupid:

stahli 18. Nov 2012 00:58

AW: DBExpress: Trigger + Generator?
 
Ja beim Installieren hilft nur vieeel Kaffee - oder Acronis :wink:

In welcher Umgebung nutzt Du denn persistente Felder?
dbExpress - VCL+DB - VCL+LB - FM+LB ?

Probleme gibt es in FireMonkey und LiveBinding viele.
Ich habe hier: http://www.delphipraxis.net/171665-e...ml#post1191776
mal um Hilfe gebeten...

Mal sehen, ob sich was tut...

Perlsau 18. Nov 2012 01:07

AW: DBExpress: Trigger + Generator?
 
Zitat:

Zitat von stahli (Beitrag 1191777)
Ja beim Installieren hilft nur vieeel Kaffee - oder Acronis :wink:

Nee, ich hatte heute schon einen Liter, jetzt gibt's nur noch Wasser, sonst ruinier' ich mir die Leitungen :?

Zitat:

Zitat von stahli (Beitrag 1191777)
In welcher Umgebung nutzt Du denn persistente Felder?
dbExpress - VCL+DB - VCL+LB - FM+LB ?

Meistens mit FibPlus (Version 6.9.6 mit ein paar Bugs) und Firebird (v2.5.1 Server + Embedded), aber auch mit Ado (dbGo) und MySQL. Von letzterem ist mir wohl noch in Erinnerung, daß man dort AutoInc-Felder explizit benennen muß.

Zitat:

Zitat von stahli (Beitrag 1191777)
Probleme gibt es in FireMonkey und LiveBinding viele.

Das betrifft mich eher nicht, ich habe nur RadStudio 2009 pro

Zitat:

Zitat von stahli (Beitrag 1191777)
Mal sehen, ob sich was tut...

Bei mir hier tut sich nicht mehr viel, mein Bett ruft ...:freak:

DanielJ 21. Nov 2012 16:05

AW: DBExpress: Trigger + Generator?
 
Zitat:

Zitat von stahli (Beitrag 1191768)
Man muss also ein persistentes Feld anlegen und dort AutoGenerateValue=arAutoInc setzen.

Ist das nicht doppelt gemoppelt, sprich dein DBExpress (auto)generiert dir einen Wert, und der Firebird-Trigger überschreibt den dann.
Ich kenne das von den alten InterBase Express Komponenten, da Setzt du im Falle eines Datenbank-Generierten Feldinhalts für das betreffende Feld einfach ReadOnly auf True und Required auf False und lässt AutoGenerateValue auf arNone.


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