AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Field exists

Ein Thema von bernhard_LA · begonnen am 20. Dez 2014 · letzter Beitrag vom 3. Feb 2019
Antwort Antwort
Seite 2 von 2     12
Perlsau
(Gast)

n/a Beiträge
 
#11

AW: Field exists

  Alt 21. Dez 2014, 14:41
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. GetTableNames, GetFieldNames und GetProcedureNames würden dann doch immer funktionieren, egal welches DBMS, oder nicht? (hab ja "nur" 2009).

Geändert von Perlsau (21. Dez 2014 um 14:54 Uhr)
  Mit Zitat antworten Zitat
joehd

Registriert seit: 8. Okt 2008
Ort: Heidelberg
106 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

AW: Field exists und ergänzen

  Alt 3. Feb 2019, 18:26
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;
joe
immer wenn ich was suche finde ich es hier komisch oder ?
Arbeite mit D3 D5 D2007 DXE Prof
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz