Einzelnen Beitrag anzeigen

m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#31
  Alt 25. Sep 2002, 20:21
Hi, ich hab bemerkt, dass ich das aber nicht einfach so erweitern kann.

Ich habe zuerst 4 Felder in die Datenbank eingefügt. Das hat prima geklapt.

Nun aber habe ich den Code um 1 Feld erweitert. Das klapt aber nicht.

Code:
procedure TKundendaten.Button3Click(Sender: TObject);
const
   FeldName : array[1..5] of String = ('Rueckzahlung', 'Kreditwaehrung', 'Zinssatz1', 'Zinssatzgebunden', 'Aufschlag');
   InsertStr : array[1..5] of String =
               ('ALTER TABLE Finanzierung ADD Rueckzahlung CHAR(30)',
                'ALTER TABLE Finanzierung ADD Kreditwaehrung CHAR(10)',
                'ALTER TABLE Finanzierung ADD Zinssatz1 CHAR(10)',
                'ALTER TABLE Finanzierung ADD Zinssatzgebunden CHAR(10)',
                'ALTER TABLE Finanzierung ADD Aufschlag FLOAT');
   var i : Integer;
begin
  for i := 1 to 5 do
  begin
    if DM.ADOSFinanzierung.FindField(FeldName[i])=NIL then
    begin
       DM.QueryFinanzierung.Close;
       DM.QueryFinanzierung.SQL.Clear;
       DM.QueryFinanzierung.SQL.Add(InsertStr[i]);
       DM.QueryFinanzierung.ExecSQL
     end;
   end;
end;
Wenn ich im Programm nun den Button anklicke, kommt folgende Fehlermeldung:

Feld 'Rueckzahlung' ist bereits in der Tabelle 'Finanzierung' vorhanden.

Kann man das umgehen, so dass wenn man den Button drückt diese Meldung nicht mehr kommt?
Es kann ja sein, dass einige User einigemale auf den Button klicken.
Da soll einfach nichts geschehen, wenn schon die Felder in der DB stehen.

Und wenn welche dazukommen, dann sollen die einfach dazukommen. Die anderen sollen dabei nicht angegriffen werden.
Grüße, m-werk
  Mit Zitat antworten Zitat