/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Gemme et dataset
Fra : Harald


Dato : 30-09-03 15:39

Hvordan gemmer man et komplet dataset i et dynamisk array, f.eks.

Jeg åbener en TQuery som så indeholder 100 records, disse 100 records skal
nu puttes ind i mit dynamiske array således at jeg senere efter at TQuery er
lukket igen kan hente dataerne fra det dynamiske array.

Det skal benyttes fields (eller lign.) i det dynamiske array således at jeg
kan benytte functionerne AsString, AsDate osv.

Jeg bruger Delphi 7 pro.

Jeg har forsøgt mig med følgende, der dog ikke virker de enkelte fields i
mit array indeholder intet bagefter.

var
Query : TQuery;
testdata : array of TFields;

var
i,y : integer;
begin
Query.Open; // en stak records
i:=0;
while not Query.Eof do
begin
inc(i);
SetLength(testdata,i);
testData[i-1]:=TFields.Create(nil);
for y:=0 to Query.FieldCount-1 do
testData[i-1].Add(Query.Fields.Fields[y]);
Query.Next;
end;
end;

--------------
Mvh
HK



 
 
Flozzy (05-10-2003)
Kommentar
Fra : Flozzy


Dato : 05-10-03 06:56

Hej Harald

Jeg ved ikke, om du kan bruge denne fremgangsmåde, som virker fint for mig:

type
MyRec = record
BrugerNavn: String;
Adgang: String;
{osv...}
end;

var RecArr: Array of MyRec;

procedure TForm1.EtEllerAndet(Sender: TObject);
var i,Max: Integer;
begin
Max := Table1.RecordCount;
SetLength(RecArr, Max);
for i := 0 to Max - 1 do
begin
with RecArr[i] do
begin
with Table1 do
begin
BrugerNavn := FieldByName('Brugernavn').AsString;
Adgang := FieldByName('Adgang').AsString;
end;
end;
Table1.Next;
end;
end;

Mvh Flozzy


"Harald" <news10@-REMOVE-THIS-kroning.dk> skrev i en meddelelse
news:3f799573$0$24628$edfadb0f@dread14.news.tele.dk...
> Hvordan gemmer man et komplet dataset i et dynamisk array, f.eks.
>
> Jeg åbener en TQuery som så indeholder 100 records, disse 100 records skal
> nu puttes ind i mit dynamiske array således at jeg senere efter at TQuery
er
> lukket igen kan hente dataerne fra det dynamiske array.
>
> Det skal benyttes fields (eller lign.) i det dynamiske array således at
jeg
> kan benytte functionerne AsString, AsDate osv.
>
> Jeg bruger Delphi 7 pro.
>
> Jeg har forsøgt mig med følgende, der dog ikke virker de enkelte fields i
> mit array indeholder intet bagefter.
>
> var
> Query : TQuery;
> testdata : array of TFields;
>
> var
> i,y : integer;
> begin
> Query.Open; // en stak records
> i:=0;
> while not Query.Eof do
> begin
> inc(i);
> SetLength(testdata,i);
> testData[i-1]:=TFields.Create(nil);
> for y:=0 to Query.FieldCount-1 do
> testData[i-1].Add(Query.Fields.Fields[y]);
> Query.Next;
> end;
> end;
>
> --------------
> Mvh
> HK
>
>



Harald (05-10-2003)
Kommentar
Fra : Harald


Dato : 05-10-03 09:26

"Flozzy" <jje@post3.tele.dk> skrev i en meddelelse
news:3f7fb287$0$54788$edfadb0f@dread11.news.tele.dk...
> Hej Harald
>
> Jeg ved ikke, om du kan bruge denne fremgangsmåde, som virker fint for
mig:

Nej det kan jeg desværre ikke. Jeg har flere forskellige tabeller som
indeholder forskellige data og kun en enkelt procedure som skal indlæse
disse data.

/HK

<klip>



Ukendt (05-10-2003)
Kommentar
Fra : Ukendt


Dato : 05-10-03 09:51

"Harald" <news10@-REMOVE-THIS-kroning.dk> wrote in message
news:3f7fd589$0$54866$edfadb0f@dread11.news.tele.dk...
>
> Nej det kan jeg desværre ikke. Jeg har flere forskellige tabeller som
> indeholder forskellige data og kun en enkelt procedure som skal
indlæse
> disse data.

Kan du ikke bruge en memory table? Der er flere tilgængelige, f.eks.
kbmMemtable.


Harald (05-10-2003)
Kommentar
Fra : Harald


Dato : 05-10-03 10:16

"Uffe Kousgaard" <look_at_www.routeware.dk> skrev i en meddelelse
news:3f7fdb67$0$83048$edfadb0f@dtext01.news.tele.dk...
> "Harald" <news10@-REMOVE-THIS-kroning.dk> wrote in message
> news:3f7fd589$0$54866$edfadb0f@dread11.news.tele.dk...
> >
> > Nej det kan jeg desværre ikke. Jeg har flere forskellige tabeller som
> > indeholder forskellige data og kun en enkelt procedure som skal
> indlæse
> > disse data.
>
> Kan du ikke bruge en memory table? Der er flere tilgængelige, f.eks.
> kbmMemtable.

Det lyder som en mulighed, det vil jeg kikke på.

http://www.components4programmers.com/products/kbmmemtable/index.htm

/HK




Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409081
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste