AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Array als Feld

Ein Thema von Dragon27 · begonnen am 26. Mai 2008 · letzter Beitrag vom 26. Mai 2008
 
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#1

Problem mit Array als Feld

  Alt 26. Mai 2008, 12:52
Hallo zusammen,

ich hatte Anfangs Probleme auf die Daten von MySQL vernünftig zuzugreifen. Nun denke ich habe ich es geschafft jedoch besteht noch ein kleines Problem bei meinem Mehrdimensionalen Array in dem ich die Abfragen speichere. Dies ist mein Code:

Die Procedure, die die Daten ins Array schreibt:
Delphi-Quellcode:


type TFeld = array of array of String;

//::::::::::::::::::::::::::::::::::::::

Procedure TSqlVerbindung.GetErgebnis(a: TFeld);
var i, j: integer;
    af: TMysql_FieldDef;
    cr: integer;
begin
  if assigned(FResult) then begin
    if FResult.ResultType=rtStored then begin
      cr := FResult.RecNo;
      SetLength(a, FResult.FieldsCount+1,FResult.RowsCount+1);
      for i:=0 to FResult.FieldsCount-1 do begin
        af := FResult.FieldDef(i)^;
        a[i+1,0] := af.Name;
      end;
      FResult.First;
      for i:=0 to FResult.RowsCount-1 do begin
        if FResult.RecNo=cr then
          a[0,i+1] := '*'
        else
          a[0,i+1] := '';
        for j:=0 to FResult.FieldsCount-1 do
          a[j+1,i+1] := FResult.FieldValue(j);
        FResult.Next;
      end;
      FResult.RecNo := cr;
    end
    else begin
      SetLength(a, FResult.FieldsCount+1,2);
      for i:=0 to FResult.FieldsCount-1 do begin
        af := FResult.FieldDef(i)^;
        a[i+1,0] := af.Name;
      end;
      for j:=0 to FResult.FieldsCount-1 do
        a[j+1,1] := FResult.FieldValue(j);
    end;
  end;
end;
So rufe ich das ganze auf:
Delphi-Quellcode:

procedure TSQL.Button1Click(Sender: TObject);
var vSQL:Tsqlverbindung;
s:TFeld;
begin

vsql:=Tsqlverbindung.Create;
vsql.SelectDB('Kom');
vsql.SendBefehl('SELECT * FROM iuser i;');
vsql.GetErgebnis(s);
showmessage(s[1][1]);
vsql.Free;
end;
Leider bekomme ich eine Zugriffsverletzung aber warum?

Danke für Eure Hilfe!
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz