AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird und AutoInc
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird und AutoInc

Ein Thema von Grolle · begonnen am 30. Sep 2010 · letzter Beitrag vom 3. Okt 2010
Antwort Antwort
Seite 1 von 3  1 23      
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#1

Firebird und AutoInc

  Alt 30. Sep 2010, 22:52
Datenbank: Firenird • Version: 2.1 • Zugriff über: UniDac
Hallo,

ich verwende in meiner Anwendung ein AutoInc Feld, welches über einen Firebird Trigger gefüllt wird. Jetzt habe ich das Problem, dass beim Dataset.Insert das AutoInc ID DBEdit Feld nicht leer sein darf (klar, wg. PK). Ich brauche dieses ID Feld zum referenzieren weiterer Datensätze. Soll ich da einen weiteren Trigger und ein weiteres DB Feld anlegen und das als PK nutzen?

Viele Grüße ...

  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Firebird und AutoInc

  Alt 30. Sep 2010, 22:56
Warum hast Du denn bei einem AutoInc-Feld ein DBEdit?? Das wird doch automatisch durch den Trigger "BeforeInsert" befüllt und ist somit "automatisch" nicht leer?!?!?! Bei mir funktioniert das nämlich ohne Probleme....

[Edit]
Ich befülle meine Tabelle allerdings durch ein SQL-Statement. Vielleicht zeigt FireBird hier auch ein anderes Verhalten...
[/edit]
Michael Kübler

Geändert von scrat1979 (30. Sep 2010 um 22:58 Uhr)
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Firebird und AutoInc

  Alt 30. Sep 2010, 22:58
Hi,

weil ich das erst (hidden) nutzen wollte, um darauf Zugriff zu haben. War nicht schlau, deshalb suche ich jetzt einen anderen Weg an die ID des Datensatzes zu kommen

Viele Grüße ....

// Edit: Eigentlich brauche ich das Ereignis, an dem ich den jeweils aktiven Datensatz (bzw. seine ID) im Dataset lesen kann


Geändert von Grolle (30. Sep 2010 um 23:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Firebird und AutoInc

  Alt 30. Sep 2010, 23:14
Hallo Grolle,

wenn Du einen Trigger einsetzt, kannst Du doch die ID mit einem Generator erstellen.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#5

AW: Firebird und AutoInc

  Alt 30. Sep 2010, 23:16
Hallo,

ich brauch die generierte ID aber dann auch im Programm. Der Trigger/Generator funktioniert ja.

Viele Grüße ...

  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.889 Beiträge
 
Delphi 12 Athens
 
#6

AW: Firebird und AutoInc

  Alt 30. Sep 2010, 23:31
Hallo,

ich brauch die generierte ID aber dann auch im Programm. Der Trigger/Generator funktioniert ja.

Viele Grüße ...
Ab FB 2.0 gibt es ganau dafür das RETURNING im INSERT-Statement.
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Firebird und AutoInc

  Alt 30. Sep 2010, 23:41
Hi,

ich brauche die ID, wenn der Datensatzzeiger sich im Dataset(Query/Datasource) bewegt. In dem Moment, wenn die Edits auch die Daten bekommen. Die ReturningId ist ja der zuletzt eingefügte Datensatz.

Viele Grüße ...

  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.889 Beiträge
 
Delphi 12 Athens
 
#8

AW: Firebird und AutoInc

  Alt 30. Sep 2010, 23:44
Welche Dataset-Komponenten setzt Du ein?
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#9

AW: Firebird und AutoInc

  Alt 30. Sep 2010, 23:48
Hi,

Unidac - UniQuery.

Viele Grüße ....

  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: In der Lüneburger Heide
165 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Firebird und AutoInc

  Alt 1. Okt 2010, 07:57
Hast Du eine statische Feldliste in der Query verwendet?

Wenn ja, setzt mal für das ID-Feld die Option Required auf false. Wenn Du sie nicht verwendet hast, erstelle diese mal und setze dann diese Option für das ID-Feld. Andere Möglichkeit, die wir ab und zu verwenden ist es den Generator in einer zweiten Query laufen zu lassen (SELECT GEN_ID( GEN_NAME,1 ) FROM RDB$DATABASE).
Carsten
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:18 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