Einzelnen Beitrag anzeigen

kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#1

mit TTable prüfen, ob ein Datensatzt schon existiert

  Alt 14. Feb 2006, 13:07
Datenbank: InterBase • Zugriff über: TTable
Hallo ich habe eine kleine Simple funktion, und einen Patienten zur Datenbak hinzuzufügen.
Und zwar werden in der Funktion nur Werte zu den bestimmten Tabellen eingetragen.

So sieht die Funktion aus:

Delphi-Quellcode:
function TformDesignerMain.CreatePatient(ID,Name,Vorname,gebDatum,sex,adresse1,
adresse2,plz,tel,fax,mail:string): string;

var

   PatientCode:integer;
   AdressCode :integer;

begin

   PatientCode:=untersuchung.GenUntCode;
   AdressCode :=untersuchung.GenUntCode;


   tablePatient.Open;
   TableAdresse.open;
   tablePatient.Append;
   TableAdresse.append;

   tablePatient.FieldValues['CODE']:=PatientCode;
   tablePatient.FieldValues['ADRESSECODE']:=AdressCode;
   tablePatient.FieldValues['PATIENTID']:=ID;
   tablePatient.FieldValues['NAME']:=Name;
   tablePatient.FieldValues['VORNAME']:=Vorname;
   tablePatient.FieldValues['GEBDATUM']:=gebDatum;
   tablePatient.FieldValues['GESCHLECHT']:=sex;


   TableAdresse.FieldValues['CODE']:=AdressCode;
   TableAdresse.FieldValues['ADRESSE1']:=adresse1;
   TableAdresse.FieldValues['ADRESSE2']:=adresse2;
   TableAdresse.FieldValues['PLZ']:=plz;
   TableAdresse.FieldValues['TEL']:=tel;
   TableAdresse.FieldValues['FAX']:=fax;
   TableAdresse.FieldValues['EMAIL']:=mail;

   tablePatient.Post;
   TableAdresse.post;
   TableAdresse.close;
   tablePatient.Close;


   result:=inttostr(PatientCode);


end;
Jetzt muss aber noch irgendwie ganz am Anfang geprüft werden, ob der Patient bereits existiert. Dazu muss nach Name und Vorname geprüft werden, und wenn der Patient existiert, muss der aktuelle wert von "tablePatient.FieldValues['CODE']" zurück gegeben werden, und die Funktion kann abgebrochen werden.

Leider weiß ich jetzt nicht, wie ich das am bessten, sinnvollsten und am einfachsten machen kann?
Hätte da zufällig jemand ne gute Idee?
Florian Gilde
  Mit Zitat antworten Zitat