Firebird SQl Update mit Freepascal

Einleitung

Für ein Firebird Datenbank Update benötigst du eine in unserer dbconect Unit eine Update Prozedur und in unserer GUI musst du die Prozedur BtnPeopleSaveClick erweitern.

Abb. Prozedur UpdateDBData

Teil 01: Firebird SQL Update Prozedur

Quelltext:

procedure TForm2.UpdateDBData;
var
strID, strLastName, strFirstName, strTel, strMobile : string;
begin
strID := Form1.EdtID.Text;
strLastName := Form1.EdtLastName.Text;
strFirstName := Form1.EdtFirstName.Text;
strTel := Form1.EdtTel.Text;
strMobile := Form1.EdtMobile.Text;
connectDB;
SQLQPeople.SQL.Text := 'Update PERSONEN SET ID = '''+strID+''', NAME = '''+strLastName+''', VORNAME = '''+strFirstName+''', TEL = '''+strTel+''', MOBIL = '''+strMobile+''' WHERE ID = '''+strID+'''';
closeDB;
end;

In Zeile 1 siehst du den Prozedur Kopf mit Namen und der Zuordnung für das Form2. Zeile 2 leitet die Variablendeklaration ein. In der nächsten Zeile 3 werden die fünf Stringvariablen deklariert die du für die Datenübernahme aus den Editfeldern benötigst. Zeile 4 leitet mit dem Schlüsselwort begin die eigentliche Prozedur ein. Danach werden in den Zeilen fünf bis neuen die Stringvariablen durch die Editfelder deines Programmes mit Inhalten befüllt.
In Zeile 10 baust du eine Datenbankverbindung über die Prozedur connectDB auf. In Zeile 11 folgt dann das eigentliche Update. Die Komponente SQLQPeople.SQL.Text führt das Update durch. Die Firebird SQL Anweisung lautet: „Update PERSONEN SET ID = “’+strID+“‘, … WEHRE ID = “’+strID+““; Möchte man die Anweisung richtig lesen lautet diese Aktualisiere Tabelle Personen und setze ID = Variable ID … wo ID gleich Variable ID. In der Zeile 12 wird die die Datenbank Verbindung wieder geschlossen.

Teil 02: Firebird SQL Update Button Speichern erweitern

Quelltext:

procedure TForm1.BtnPeopleSaveClick(Sender: TObject);
begin
{* Prüfen ob ein Update oder
* ein Insert ausgeführt werden soll.
*}

if(isInsertOrUpdate = 1) then
begin
// Update ausführen
Form2.UpdateDBData;
End
else
begin
// Insert ausführen
Form2.InsertDBData;
isInsertOrUpdate := 1;
end;
end;

Den ersten Teil der Prozedur hattest du für einen Insert bereits entwickelt. Der Update teil folgt nun. Die globale Variable isInsertOrUpdate ist bei Programmstart auf „1“ gesetzt und führt somit immer ein Update aus, außer du klickst den „Neu anlegen“ Button dann wird diese auf 0 gesetzt. Bei 0 wird der Insert Teil ausgeführt. Im Updateteil der If Else Anweisung wird unsere Update Prozedur s.o. aufgerufen und ausgeführt. Das sich diese im Form 2 befindet musst du dies mit angeben.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.