Vorgehensweise
Vorgehensweise
Hallo,
wie transferiert man am geschicktesten die Eingaben auf Masken mit sehr vielen Elementen in eine Datenbank?
Was ist hierfür die beste Vorgehensweise?
Vielen Dankl schon mal im Vorraus.
wie transferiert man am geschicktesten die Eingaben auf Masken mit sehr vielen Elementen in eine Datenbank?
Was ist hierfür die beste Vorgehensweise?
Vielen Dankl schon mal im Vorraus.
-
- Beiträge: 489
- Registriert: Sa 5. Apr 2008, 09:37
- OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
- CPU-Target: 32Bit /64 Bit
- Wohnort: Nähe Freiburg i.Br.
Re: Vorgehensweise
ufkpra2 hat geschrieben:Hallo,
wie transferiert man am geschicktesten die Eingaben auf Masken mit sehr vielen Elementen in eine Datenbank?
Was ist hierfür die beste Vorgehensweise?
Vielen Dankl schon mal im Vorraus.
über die entsprechenden DB-Komponenten, TDBedits usw.
oder falls die Maske mit "normalen" Eingabefeldern schon vorhanden ist, eben manuell .
Dazu gibts dann verschiedene Möglichkeiten.
Gruss KHH
Re: Vorgehensweise
Die Masken sind bereits vorhanden mit normalen Eingabefeldern.
-
- Beiträge: 489
- Registriert: Sa 5. Apr 2008, 09:37
- OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
- CPU-Target: 32Bit /64 Bit
- Wohnort: Nähe Freiburg i.Br.
Re: Vorgehensweise
na dann hast du ja alle Möglichkeiten offenufkpra2 hat geschrieben:Die Masken sind bereits vorhanden mit normalen Eingabefeldern.

Wir erstellen für den DB-Zugriff für die einzelnen Tabellen entsprechende objecte über deren Instanzen dann auf die DB zugegriffen wird.
Hat sich gut bewährt.
Ist halt auch ne Frage wie fitt du in OOP bist.
Gruss KHH
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Vorgehensweise
Wenn du es manuell machst (API), solltest du Prepared Statements verwenden, wenn dein DBMS das unterstützt.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Vorgehensweise
Es geht mir mehr darum, wie Ihr die Infos aus den Eingabefeldern holt. Gebt Ihr ihnen die Namen der Tabellenspalten und ermöglicht so eine automatische Zuordnung oder fragt Ihr alle in einer Prozedur ab oder legt vielleicht Events an?
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: Vorgehensweise
Naja die übliche Vorgehensweise ist schon - wie angedeutet - tatsächlich die DB Aware Controls zu nutzen (TDBEdit & Co). Im Optimalfall kannst du eine Datenbankanbindung ohne eine einzige Zeile Code erstellen.
Re: Vorgehensweise
Gut, habe mich mit den datensensitiven Controls angefreundet.
Etwas schwieriger wird es bei den LookUp Elementen, zB der DBLookupComboBox. Die Daten für die Liste bekomme ich über eine SQL Abfrage. Hier exemplarisch mal, wie ich das momentan mache:
Ich müsste ja nun für jede der ComboBoxen eine derartige Prozedur erstellen. Wie rufe ich die am geeignetsten ab, bzw. welches Event wäre hierfür passend?
Etwas schwieriger wird es bei den LookUp Elementen, zB der DBLookupComboBox. Die Daten für die Liste bekomme ich über eine SQL Abfrage. Hier exemplarisch mal, wie ich das momentan mache:
Code: Alles auswählen
procedure TFormMain.Button1Click(Sender: TObject);
var
query: TZQuery;
ds: TDataSource;
begin
query := TZQuery.Create(self);
query.Connection := ZConnectionXY;
ds := TDataSource.Create(self);
ds.DataSet := query;
query.SQL.Text := 'SELECT blabla';
query.Open;
DBLookupComboBox1.ListSource := ds;
DBLookupComboBox1.KeyField := 'x';
ds.Free;
query.Free;
end;