Einzelnen Beitrag anzeigen

Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
454 Beiträge
 
Delphi XE4 Professional
 
#1

Stored Procedure mit Delphi und FirebirdSQL

  Alt 11. Apr 2019, 11:55
Datenbank: Firebird • Version: 2.5 • Zugriff über: ZEOSLIB
Hallo,

Wie kann ich eine Stored Procedure in Delphi erstellen, die verschiedene Textbausteine und Feldinhalte in ein neues Feld schreibt?


Beispiel:
Tabelle mit Felder: HTML_TEXT, NACHNAME, VORNAME, STRASSE, PLZ .....

Ich möchte via Stored-Procedure das Feld "HTML_TEXT" automatisch befüllen, wenn ein Datensatz neu erstellt wurde oder bearbeitet wurde. Das Feld "HTML_TEXT" soll aber aus ausgewählten Feldern und Textelementen (HTML Formatierung und Zeilenumbrüche) erstellt werden.

Der User soll die Möglichkeit haben, die zu verwendeten Felder (für das Feld HTML_TEXT) via Checkbox anzuwählen und die HTML-Texte vor-und nach dem Tabellenfeld-Wert definieren können

[TCheckbox: Aktiv] [TEDIT: Vortext-HTML] Datenbankfeld: NACHNAME [TEDIT: Nachtext HTML]
[TCheckbox: Aktiv] [TEDIT: Vortext-HTML] Datenbankfeld: VORNAME [TEDIT: Nachtext HTML]
[TCheckbox: Aktiv] [TEDIT: Vortext-HTML] Datenbankfeld: STRASSE [TEDIT: Nachtext HTML]


Beispiel:
Vortext-HTML= <b>
Datenbankfeld: NACHNAME
Nachtext-HTML= </b>

Vortext-HTML= <b>&nbsp;
Datenbankfeld: Vorname
Nachtext-HTML= </b><BR>

Vortext-HTML=
Datenbankfeld: STRASSE
Nachtext-HTML=

Ergebnis-Beispiel im Feld "HTML-TEXT": "<b>Mustermann</b>&nbsp;Karl</b><BR>Musterstasse 123"


und noch eine Frage:
Wie kann ich einer StoredProcedure sagen, dass sie ALLE Records noch mal "durcharbeiten" soll (Falls Änderungen bei den zu verwendeten Felder sind)?

Vielen Dank für Hinweise und Vorschläge
Erich



P.S.: Bis dato hab ich überall kreuz und quer - wo man die Kundenadresse neu erstellen oder ändern kann - folgende Zeilen verteilt:


das_query.Edit;
{ ! } gunst.FieldByName('HTML_TEXT').asString := '<p style="margin: 0px;font-size: 12px">' + query[1].FieldByName('EINTRAG').asString + '<br></p><p style="margin: 0px;font-size: 10px">' + query[1].FieldByName('STRASSE').asString + '<br>' + query[1].FieldByName('PLZ').asString + '-' + query[1].FieldByName('ORT').asString + '</p>';
das_query.Post;
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \

Geändert von erich.wanker (11. Apr 2019 um 12:31 Uhr)
  Mit Zitat antworten Zitat