![]() |
Re: doppelter eintrag in db vergleichen
Zitat:
:wiejetzt: |
Re: doppelter eintrag in db vergleichen
Ja, es löst eine Exception aus, die du in Delphi auswerten kannst und entprechend drauf reagieren kannst.
|
Re: doppelter eintrag in db vergleichen
Zitat:
//edit *sing* wo sind all die roten Kästchen hin?.... */sing* |
Re: doppelter eintrag in db vergleichen
Zitat:
warum sollte es besser sein erst in die db zu schreiben auf ne exception zu warten und dann sagen das sie bereits vorhanden ist? ausserdem lesne wir ja den chip aus und wenn er in der db vorhanden ist springt er gleich zu diesem datensatz. also ist es unmöglich den chip zweimal darein zu schreiben. und ein chip hat eine eindeutige id. |
Re: doppelter eintrag in db vergleichen
Zitat:
Also kann man auch eine Schleife von 0 bis Fields.Count-1 durchlaufen, um die Felder zu füllen. Da man die Daten über TField schreibt, kann man auch vom OnSetText profitieren. Zitat:
Aber du hast recht, wenn es Felder gibt, die nicht befüllt werden, kann man sparen, indem man alle benötigten Felder bei SELECT auflistet. |
Re: doppelter eintrag in db vergleichen
Zitat:
das alles entscheidende "Zauberwort" ist -> Multiuserfähigkeit. Mit deiner Methode und auch der von shima wird nur gepüft ob es in diesem Moment noch keinen Datensatz mit der selben Seriennummer gibt. Es kann aber Clientseitig nie geprüft werden ob nicht 1 Taktzyklus nach eurer "Prüfung" von einem anderen User diese Seriennummer erfasst wurde. Solch eine Prüfung kann nur vom DB-Server durchgeführt werden. Darum legt man auf ein Feld deren Inhalt einmalig sein soll einen Unique Key. Wenn nun ein zweiter Datensatz mit dem selben Inhalt eingefügt werden soll wird vom DB-Server ein entsprechender Fehler erzeugt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz