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 3 von 3     123   
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#21

AW: Firebird und AutoInc

  Alt 2. Okt 2010, 16:24
Back to the basics...
Ein Feld kann das Attribut NULL oder NOT NULL haben.
Ein Primärschlüsselfeld hat in aller Regel das Attribut NOT NULL.
Bei einem AutoInc-Feld wird die Sache etwas komplizierter.
Es hat das Attribut NOT NULL, darf aber nicht von der Anwendung befüllt werden
(Attribut "DON'T FILL")
Es wird ja von der Datenbank gefüllt und darf deshalb nicht in der INSERT oder
UPDATE-Anweisung angesprochen werden.
Man muss also daür sorgen (eigentlich sollte das die VCL tun), dass das Property "Required"
der Felds = False ist.

AutoInc-Felder sind bequem und smart, aber nur solange man den Wert beim Einfügen
eines Datensatzes nicht benötigt.
Hat man abhängige Tabellen, dann ist es besser auf AutoInc-Felder zu verzichten
und einen Generator oder künstlich erzeugte Schlüssel zu benützen.
  Mit Zitat antworten Zitat
Grolle

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

AW: Firebird und AutoInc

  Alt 2. Okt 2010, 16:49
Hi,

danke für deinen Post. Habe jetzt mal das beforeInsert genutzt:
Delphi-Quellcode:
procedure Tdata.QueryBeforeInsert(DataSet: TDataSet);
begin
  Query.FieldByName('id').Required := false;
end;
Das scheint vorerst zu klappen. Nicht schön, aber zweckmäßig

Viele Grüße ...

  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#23

AW: Firebird und AutoInc

  Alt 2. Okt 2010, 19:08
http://www.devart.com/forums/viewtop...63775a1f0427d5

lg,
Thomas
  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
 
#24

AW: Firebird und AutoInc

  Alt 2. Okt 2010, 21:36
Nein nein, der PK macht ja Sinn. Normalerweise sollte doch bei einem INSERT PK dieser dann automatisch befüllt werden.
Der Meinung bin ich auch und bei mir funktioniert es. Ich habe übrigens das "AutoInc" Feld mit SQL-Manger (EMS Software glaube ich...) angelegt. Bei meinem INSERT-Statement ist das PK-Feld auch nicht vorhanden, da es ja - wie DeddyH schon sagt - VOR dem Insert automatisch befüllt wird. Es funktioniert OHNE Fehler. Komisch, sehr komisch... Lege doch mal einen Datensatz mit einer GUI an und lassen das PK-Feld leer. Bei einem POST - bzw. nach dem COMMIT - sollte dort eine Zahl stehen und kein Fehler auftauchen. BTW, commitest Du auch nach Deinem Post???????????????
Michael Kübler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: Firebird und AutoInc

  Alt 2. Okt 2010, 21:47
Am Besten den Trigger so anlegen, dass immer ein Wert gesetzt wird, auch wenn ein Wert ( wie Z.B. '') übergeben wird
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#26

AW: Firebird und AutoInc

  Alt 3. Okt 2010, 13:37
Ja eben, deshalb hatte ich ja vorgeschlagen, die If-Abfrage ganz aus dem Trigger zu löschen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#27

AW: Firebird und AutoInc

  Alt 3. Okt 2010, 13:47
Oder zu erweitern ( möglicherweise werden ja sinnvolle Werte übergeben)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#28

AW: Firebird und AutoInc

  Alt 3. Okt 2010, 13:53
Mach ich nie, da ich der Meinung bin, dass die DB und nur die DB künstliche Schlüssel zu vergeben hat. Aber das ist vermutlich Ansichtssache.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: Firebird und AutoInc

  Alt 3. Okt 2010, 14:01
Ich auch. Da gibt es aber unterschiedliche Ansichten
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 09:56 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