🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.database.ado
Article #1272

Slow performance with ADOQuery

#1272
From: Vic
Date: Thu, 09 Sep 2004 15:38
44 lines
2499 bytes
I have a problem with the TADOQuery. In my project I need to read records
( about 40000 ) from some tables and show them in a list. For do it, I use a
virtual TListview (OwnerData = true) and the ADOQuery with a SQL statement
to read from database. The process for reading records from the database to
the query is fast, it gets about 3 sec., and I use the event OnData of the
listview to show the records directly form the query.
Here is the code :

void __fastcall TForm1::ListView1Data(TObject *Sender, TListItem *Item)
{
   ADOQuery->RecNo = Item->Index + 1;

   for ( int i = 0; i < ListView1->Columns->Count; i++ )
   {
      if ( i == 0 )
            Item->Caption = ADOQuery->FieldByName("CODIGO")->Value;
      else

Item->SubItems->Add(ADOQuery->FieldByName("NOMBREFISCAL")->Value);
   }
}

Before show the records directly from the query, I tried to copy the query
to my own list, and show the records from the list, but that process was
very very very slow. Then I decide to avoid the 'QueryToMemory' process.

The problem that I have now is when I scroll the listview. While at the top
of the listiew the scrolling is fast, when I go to
the bottom of it the scrolling is much slower.

I think that the problem should be here :
   ADOQuery->RecNo = Item->Index + 1;
because if I comment this line, the scroll process returns to the normal
performance, but ofcourse I can't comment this line.

How can I solve that problem ?
Is it any other faster way to do what I need ?

Thank you in advance.

Info : I'm using builder 6 and sqlserver 2000 in windows xp sp1.
--
Victor
ESPA Inform�tica.
Technical Details
Message-ID: <414078e5@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!fr.ip.ndsoftware.net!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: 10698b,f914d51d26714f04,start
X-Google-Attributes: gid10698b,public
X-Google-Language: ENGLISH,ASCII
Reply-To: "Vic" <Victor@espainformatica.com>
From: "Vic" <victor@espainformatica.com>
Newsgroups: borland.public.cppbuilder.database.ado
Subject: Slow performance with ADOQuery
Date: Thu, 9 Sep 2004 17:38:16 +0200
Lines: 46
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
NNTP-Posting-Host: 80.24.136.172
Message-ID: <414078e5@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1094744293 80.24.136.172 (9 Sep 2004 08:38:13 -0700)
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!fr.ip.ndsoftware.net!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail