Avatar billede ogik Nybegynder
10. november 2000 - 12:43 Der er 7 kommentarer

Antal poster i en TTABLE!

Hey..
er der nogen der ved hvordan jeg får vist i et Label hvor mange poster der er i hele tabellen
Avatar billede torbenthyregod Nybegynder
10. november 2000 - 12:48 #1
label1.caption := inttostr(Table.Recordcount)
Avatar billede pellelil Nybegynder
10. november 2000 - 12:50 #2
Alt efter hvilken Database du bruger så kan du ikke altid regne med RecordCount. Jeg vil derfor foreslå at du i stedet bruger en TQuery: \"SELECT count(*) FROM TableNavn\", hvorefte du kan læse antallet som: \"iAntal := Query1.Fields.Fields[0].AsInteger;\".
Avatar billede assassin Juniormester
10. november 2000 - 13:07 #3
var
  Taeller: integer;

taeller := 0;
With Tabel do
begin
  first;
  while not eof do
  begin
    inc(taeller);   
  end;
end;
label.Caption := IntToStr(taeller);
Avatar billede pellelil Nybegynder
10. november 2000 - 13:26 #4
assasssin> Hvis du køre \"Stand-alone\" så tror jeg ikke at dit forslag gør så meget fra eller til, men hvis det bruges i et Client/Server miljø så er det direkte tåbeligt, da du belaster netværket ved at overføre samtlige poster fra servern til klienten.

En \"select count...\" vil i stedet lade serveren trække læsset og kun overføre antallet af poster.
Avatar billede assassin Juniormester
10. november 2000 - 13:35 #5
Pellelil> Tak for det.
Jeg har ingen forstand på Client/server. (som du nok har gættet)
:-))
Avatar billede delphi Nybegynder
10. november 2000 - 14:08 #6
Jeg kan kun give Pellelil ret:  LAD ALTID DB SERVEREN GØRE ARBEJDET!!

Dvs. hvis man kører en RecordCount på et dataset, det være sig TQuery eller TTable, så vil samtlige record i tabellen bliver overført til computeren, der så vil tælle antallet af poster, hvorefter den dropper alle posterne igen.  Direkte tåbeligt, specielt hvis det foregår via net eller/og på en langsom maskine.

Select Count(*)
Form TabelNavn

vil altid lade DB-enginen lave arbejdet og kun overføre en enkelt record indeholdende antallet.

Delphi
Avatar billede eagleeye Praktikant
01. december 2000 - 10:06 #7
Er dette spørgsmål lukket ??
Det ser ud som der er 2 brugbare svar!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester