Einzelnen Beitrag anzeigen

Exterior

Registriert seit: 24. Jun 2008
33 Beiträge
 
#12

Re: Datenbank-Anbindung mit Delphi/PHP

  Alt 22. Feb 2009, 16:24
Also das mit dem MySQL direct scheint ganz gut zu klappen. Aber ich bräuchte nochmal Hilfe:

was macht dieser Code-Abschnitt

Delphi-Quellcode:
 cr := FResult.RecNo;
      StringGrid2.RowCount := FResult.RowsCount+1;
      StringGrid2.ColCount := FResult.FieldsCount+1;
      for i:=0 to FResult.FieldsCount-1 do begin
        af := FResult.FieldDef(i)^;
        StringGrid2.cells[i+1,0] := af.Name;
      end;
      FResult.First;
      for i:=0 to FResult.RowsCount-1 do begin
        if FResult.RecNo=cr then
          StringGrid2.Cells[0,i+1] := '*'
        else
          StringGrid2.Cells[0,i+1] := '';


Leider steht nirgends beschrieben, was FResult.RecNo genau ist

FResult.FieldDef(i) markiert den Datensatz i, würde ich jetzt denken.

Delphi-Quellcode:
for i:=0 to FResult.FieldsCount-1 do begin
        af := FResult.FieldDef(i)^;
        StringGrid2.cells[i+1,0] := af.Name;
      end;
Bedeutet dann dieser Abschnitt, dass die komplette erste Spalte des Dynasets in die erste Zeile des Stringgrids eingetragen wird? Wenn ja, warum?

Dieser Quellcode soll ja das Ergebnis einer Abfrage in ein Stringgrid übertragen.
Aber warum reicht dafür nicht folgender Code:

Delphi-Quellcode:
for i:=0 to FResult.FieldsCount-1 do begin
         for j:=0 to FResult.FieldsCount-1 do
          StringGrid2.Cells[j+1,i+1] := FResult.FieldValue(j);
        FResult.Next;



Und noch eine Frage:
Ich will die Sache ja in ein DataModule auslagern. Also möchte ich dann im Formular eine Function aufrufen, im DataModule die Abfrage machen und dann das Dynaset an das Formular zurückgeben. Aber wie? Ne Funktion als Array machen? Geht das?

Oder könnte / müsste ich dann quasi den Abschnitt zum Übertragen ins Formular mit eintragen und dann z.B.

StringGrid2.Cells[j+1,i+1] := DataModule.FResult.FieldValue(j); schreiben?
  Mit Zitat antworten Zitat