Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Matchcode / Vorhandenheitsabfrage! (https://www.delphipraxis.net/102220-matchcode-vorhandenheitsabfrage.html)

MondoShiva 25. Okt 2007 08:51

Datenbank: firebird • Zugriff über: IBO

Matchcode / Vorhandenheitsabfrage!
 
Hallo,
Ich habe ein kleines problem und zwar versuche einen matchcode zu schreiben der die vorhandenheit eines strings prüft.

quasi wenn ich fritz peter in ein edit oder dergleichen schreibe und dann anlegen will in der datenbank soll er mir sagen ob es den fritz peter schon gibt!

hatte an eine if abfrage gedacht aber gibt es dort nicht bessere wege??

peschai 25. Okt 2007 08:57

Re: Matchcode / Vorhandenheitsabfrage!
 
mit "Table.Locate" suchen ob es den Eintrag schon gibt ? :?:

milo 25. Okt 2007 08:59

Re: Matchcode / Vorhandenheitsabfrage!
 
Hallo,

so ganz verstehe ich Dein Problem nicht. Firebird ist meines Wissens eine Datenbank und in einer Datenbank kann man suchen. Erstelle einen Index in der Datenbank namens "Matchcode" o.ä. und schreibe eine Routine, die in der Datenbank danach sucht.

Sollte ich Dein Posting falsch verstanden haben, ignoriere einfach meine Antwort! :?

Gruß :D Milo

RavenIV 25. Okt 2007 09:09

Re: Matchcode / Vorhandenheitsabfrage!
 
Stichworte "Unique Key" und "Index".
Dann sollte Dir die DB eine Exception um die Ohren hauen, wenn Du einen Wert doppelt einfügen willst.
Diese Exception kannst Du abfangen und entsprechend behandeln.

Oder willst Du es vor dem Insert prüfen, dann musst Du eben mit locate oder so arbeiten.
Oder mit einem Select und einem RecordCount.

mkinzler 25. Okt 2007 09:12

Re: Matchcode / Vorhandenheitsabfrage!
 
Zitat:

Stichworte "Unique Key" und "Index".
Dann sollte Dir die DB eine Exception um die Ohren hauen, wenn Du einen Wert doppelt einfügen willst.
Diese Exception kannst Du abfangen und entsprechend behandeln.
Das wäre dann die suboptimalste Lösung.

MondoShiva 25. Okt 2007 09:22

Re: Matchcode / Vorhandenheitsabfrage!
 
über "locate" würde ich nur ungern gehen da sofern schon mehrere fehl bzw doppel einträge existieren er immer nur auf einem stehen bleiben würde!
in der datenbank selber etwas zu verändern missfällt mir leider auch ^^.
ich bin ein schwierig zu fireden zustellen :pale:

mkinzler 25. Okt 2007 09:29

Re: Matchcode / Vorhandenheitsabfrage!
 
Weitere Möglichkeiten:
.lookup()
.Filter

1ceman 25. Okt 2007 09:38

Re: Matchcode / Vorhandenheitsabfrage!
 
versteh das jetzt irgendwie nicht so ganz...
willst du was haben, was alle doppelten einträge aus der db löscht oder willst du wenn du nen neuen Nutzer(oda so) anlegst, das vorher geprüft wird, ob es diesen Nutzer schon gibt???

MondoShiva 25. Okt 2007 09:43

Re: Matchcode / Vorhandenheitsabfrage!
 
das letztere aber mit der sicherheit das es ihn nur einmal doppelt gibt ;)

mkinzler 25. Okt 2007 09:44

Re: Matchcode / Vorhandenheitsabfrage!
 
Und warum gibt es ihn doppelt?

MondoShiva 25. Okt 2007 09:48

Re: Matchcode / Vorhandenheitsabfrage!
 
weil es vergesslichkeit gibt ;)
und die datenbank nicht unnötig groß werden muss / falschinformationen auftreten sollen bei doppelten kontakten

mkinzler 25. Okt 2007 09:55

Re: Matchcode / Vorhandenheitsabfrage!
 
Um Platz zu Sparen speicherst du mehrfach?

MondoShiva 25. Okt 2007 10:11

Re: Matchcode / Vorhandenheitsabfrage!
 
nein grade das soll er nicht machen.
nur die datenbank existiert schon etwas länger und da können dann doppelte einträge existieren. es ist doch auch eigentlich egal wieso ich das mache. Wichtig ist halt nur das er doppelte findet.
also ich gebe ein : name tele und ein paar andere sachen dann soll er melden ob es diesen jemand schon gibt aufgrund der eindeutigkeit der informationen.
sofern dieser jemand existiert kommt eine messagebox und meldet dieses. mehr soll nicht passieren!
falls dieser jemand schon mehr als einmal existiert könnte auch eine angabe mit wievielen folgen .

mkinzler 25. Okt 2007 10:30

Re: Matchcode / Vorhandenheitsabfrage!
 
Dann mach ein .Lookup() und werte den Rückgabewert aus.

hoika 25. Okt 2007 13:26

Re: Matchcode / Vorhandenheitsabfrage!
 
Hallo,

Delphi-Quellcode:
select count(*) from mytable
where matchcode='bla'
Wo ist da das Problem ?

> Die DB gibt es etwas länger...
Dann hat aber jemand was verbockt (kein unique index)


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:54 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 by Thomas Breitkreuz