Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Telefonnummer in Datenbank Finden

  Alt 3. Dez 2014, 22:43
Man sollte eben immer darauf aufpassen, wie die Daten in der Datenbank abgelegt werden. So wie es scheint ist die Telefonnummer stumpf als Text dort gespeichert worden, was sich nun rächt. Besser wäre es gewesen und ist es, solche Daten kontrolliert in die Datenbank zu schreiben.

Es ist unerheblich, in welcher Art diese in der Datenbank abgelegt werden, es muss nur eben reproduzierbar sein. Helfen kann dabei ein sogenanntes Bei Google suchenValueObject (in Delphi am einfachsten mit einem Record darstellbar).

Dieses ValueObject wird dann mit einem Konstruktor erzeugt und der lässt eben nur gültige Einträge zu. Gerade bei Rufnummern kann man da auch ein sehr schönes Konstrukt bauen, was dann abhängig vom aktuellen Kontext die Rufnummern ausgibt und auch annimmt.

Nehmen wir an wir befinden uns in Hamburg, dann ist der Kontext +49 40. Erzeugt man nun ein VO mit 123456 dann wird das intern und für die Datenbank als +49 40 123456 gespeichert. Bei einer Abfrage würde aber wieder nur 123456 herauskommen.

Die gleiche Rufnummer ergibt für den Kontext Berlin +49 30 dann 040 123456.

Im Übrigen gibt es hier im Forum ein bisserl Code von mir genau zu dem Thema Rufnummer Validierung und Formatierung. Einfach mal die Suche bemühen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat