Einzelnen Beitrag anzeigen

hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#10

Re: FB 2.0 und IBDAC Datenzugriff

  Alt 13. Mai 2008, 14:52
Zitat von hoika:
Hallo,

wenn du den obigen Code für den DB-Grid benutzt
also nur den einen Wert anzeigst,
steht dort dann wirklich 0 in der Spalte NR ?
Heiko
Nein, dann stehen dort die richtigen Werte.

Ich arbeite mit Offline - Datenmengen.
Dazu habe ich ein Tool gebaut, welches mir aus einer Query ein ADV - Stringgrid füllt.

Beispiel:

Delphi-Quellcode:
 // Spalten für das Grid definieren Parameter: Feldbezeichner , Spaltentitel, Spaltenbreite
Grid.Add('ID','',0); // Die ID Spaltenbreite 0 -> verborgen
Grid.Add('NR','Nr', 32); // Feldname NR Spaltentitel Nr. Spaltenbreite 32
Grid.Add('BEZEICH','Bezeichnung des Vorgangs',134);

Starttransaction;
Grid.LoadFromTable('ANWENDERDAT'); // Generiert automatisch eine SQL Abfrage und arbeitet diese ab.
Commit;
Im eigentlichen Programm lese ich dann aus dem Grid die ID aus und verarbeite die Sätze einzeln.

Der Unterschied ist, das zum Füllen des Grid eine Datenmenge abgefragt wird und für die
Einzelverarbeitung erfolgt die Abfrage mit WHERE und einem Parameter.
(Die Verarbeitung wird über einen Schalter aktiviert.)

Delphi-Quellcode:
Query.SQL.Text := 'Select NR,ABTLG,BEZEICHNUNG From ANWENDERDAT WHERE ID=:id';
Query.Prepare;
StartTransaction;
for i := 1 to Grid.Count-1 do
begin
  ID := Grid.asInteger('ID',i); // Grid auslesen SQLFeldname, Row
  Query.ParambyName('ID').asinteger := ID;

...

Commit;
Die aufbereitete Abfrage in IBExpert kopiert, bringt das gewünschte Ergebnis.

Der Code selbst läuft in einem Plugin (HYDRA3.0).
Connection und Transaction sind in dem Plugin definiert.
Die Programmconnection übergebe ich über ein Interface und erzeuge mit Connection.AssignConnect(..
einen Clone der Verbindung.
An dieser Stelle will ich heute abend mal experimentieren.

Gruß
Peter
  Mit Zitat antworten Zitat