![]() |
AW: Field exists
Solche Sachen hab ich immer im Datenmodul: Liste der verfügbaren Tabellen ermitteln, Liste der Feldnamen der jeweiligen Tabelle und sonstige wichtige Daten über die jeweilige Tabelle. Wenn ich richtig gelesen habe, kann doch XE5 schon FireDac, und damit kann man doch dann alle DBMS connecten, oder? Dann bräuchte man ja keine Fremdkomponenten mehr.
![]() ![]() ![]() |
AW: Field exists und ergänzen
Der Thread ist zwar schon älter aber als er mir keine Antwort gab dachte ich dann gebe ich hier mal eine Antwort die ich erarbeitet habe.
Als Tabelle übergebe ich ein ein TTable das funktioniert prima :-) Auf dem Form benötigt man dann natürlich ein TScript Benutzen tue ich den Code bei Firebird. Viel Spaß
Code:
Function tsqldbform.Checkdatab_field(Tabelle:Tdataset;Tabname:String;Feldname:String;feldtyp:String):Boolean;
var _feldtyp :tfieldtype; sqlbastel : String; findres : Integer; findfield : Tfield; Begin // schauen ob das Datenfeld existiert findfield := Tabelle.FindField(UPPERCASE(Feldname)); if findfield = nil then begin showmessage('Datenbank Feld:'+Feldname + ' nicht vorhanden ! / Wird erzeugt ! '); sqlbastel := 'alter table ' + Trim(Tabname) + ' add ' + Trim(UPPERCASE(Feldname)) + ' ' + Trim(UPPERCASE(Feldtyp)) +';'; ibscript1.Transaction.Active := true; ibscript1.Script.Text := sqlbastel; // Tabelle.SQL.add(sqlbastel); ibscript1.ExecuteScript; // Open ; // ExecSQL; // SQL.BeginUpdate; // ibscript1.Script.Clear; // SQL.Clear; ibmaintransaction.CommitRetaining; showmessage(ibScript1.Script.Text ); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 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