Einzelnen Beitrag anzeigen

Neumann

Registriert seit: 6. Feb 2006
Ort: Moers
529 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: In einer Existierenden Firebird Table ein feld ergänzen

  Alt 18. Sep 2011, 16:55
Ich würde das ganze möglichst vereinfachen. Da man ja seine Datenbank kennt, prüft man auf das Feld was man ergänzt hat etwa so:

Delphi-Quellcode:
   IBSQLUpdate.close; //IBSQL
   IBSQLUpdate.SQL.Add('Select * from TabelleA');
   if not ibsqlupdate.transaction.active then
   ibsqlupdate.transaction.starttransaction;
   IBSQLUpdate.ExecQuery;
   bfiliale:= dm.IBSQLUpdate.FieldIndex['filiale']>=0 ; //bfiliale:boolean
   IBSQLUpdate.Close;
    if not filiale then
    begin
      dm.IBSQLUpdate.Close;
      dm.ibsqlupdate.SQL.Clear;
      dm.IBSQLUpdate.SQL.Add('ALTER TABLE TabelleA Add Filiale integer');
      moddatabase; // Führt die Query aus mit Transaktionssteuerung
    end;
Die Idee, das mit einer allgemeinen Funktion zu machen ist aber grundsätzlich gut. Man muss dabei dann aber auch an die verschiedenen Datentypen (VarChar, Numeric, Blob) die weitere Parameter brauchen denken oder noch besser diese als Domains anlegen.
Ralf
Gruß vom Niederrhein
  Mit Zitat antworten Zitat