🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: It is too many slow...

#3861
From: Yuancai (charlie) Ye
Date: Sat, 08 Jun 2002 16:58
100 lines
4841 bytes
Hi,
        Why don't try OleDBPro at www.udaparts.com for the fastest speed. It
is the best OLEDB module available in the world for C++ development

--
Yuancai (Charlie) Ye
Use of free SocketPro package for creating super client and server
application,
and 30 OLEDB examples at http://www.udaparts.com


"M. Noroozi Eghbali" <galaxy@irandoc.ac.ir> wrote in message
news:3d021be7_2@dnews...
> Hi,
>
> I am using an ADOTable and a DataSource (Microsoft.Jet.OLEDB.4.0) to save
my
> database in an Access file. It has about 25 fields and none of them are
> indexed. The number of records is about 60000. When I start the saving to
> the Access file, in the first second about 100 records were saved. The
> saving speed gradually decreases inasmuch as after 15000 records the
saving
> speed reaches to maximum 1 record per second. I wrote the code of the
saving
> function here. please tell me what is the wrong.
>
> Regards,
> Mehrdad
>
> void __fastcall TForm1::Save(TTreeNode *Node)
> {
>  typedef CNodeData* PNodeData;
>      TTreeNode *ChildNode;
>
>  do
>      {
>       DataModule1->ADOTable1->Append();
>           DataModule1->ADOTable1->FieldByName("Level")->AsInteger =
> Node->Level;
>           DataModule1->ADOTable1->FieldByName("Term")->AsString =
> Node->Text;
>           DataModule1->ADOTable1->FieldByName("BT")->AsString =
> PNodeData(Node->Data)->BT;
>           DataModule1->ADOTable1->FieldByName("NT")->AsString =
> PNodeData(Node->Data)->NT;
>           DataModule1->ADOTable1->FieldByName("RT")->AsString =
> PNodeData(Node->Data)->RT;
>           DataModule1->ADOTable1->FieldByName("SN")->AsString =
> PNodeData(Node->Data)->SN;
>           DataModule1->ADOTable1->FieldByName("UF")->AsString =
> PNodeData(Node->Data)->UF;
>           DataModule1->ADOTable1->FieldByName("Translate1")->AsString =
> PNodeData(Node->Data)->Translate1;
>           DataModule1->ADOTable1->FieldByName("Translate2")->AsString =
> PNodeData(Node->Data)->Translate2;
>           DataModule1->ADOTable1->FieldByName("Translate3")->AsString =
> PNodeData(Node->Data)->Translate3;
>           DataModule1->ADOTable1->FieldByName("Hide")->AsBoolean =
> PNodeData(Node->Data)->Hide;
>           DataModule1->ADOTable1->FieldByName("Status")->AsInteger =
> PNodeData(Node->Data)->Status;
>           DataModule1->ADOTable1->FieldByName("InputDate")->AsString =
> PNodeData(Node->Data)->InputDate;
>           DataModule1->ADOTable1->FieldByName("ApprovalDate")->AsString =
> PNodeData(Node->Data)->ApprovalDate;
>           DataModule1->ADOTable1->FieldByName("LastUpdate")->AsString =
> PNodeData(Node->Data)->LastUpdate;
>           DataModule1->ADOTable1->FieldByName("NotValidDate")->AsString =
> PNodeData(Node->Data)->NotValidDate;
>           DataModule1->ADOTable1->FieldByName("ABB")->AsString =
> PNodeData(Node->Data)->ABB;
>           DataModule1->ADOTable1->FieldByName("SC")->AsString =
> PNodeData(Node->Data)->SC;
>   DataModule1->ADOTable1->FieldByName("HN")->AsString =
> PNodeData(Node->Data)->HN;
>   DataModule1->ADOTable1->FieldByName("SF")->AsString =
> PNodeData(Node->Data)->SF;
>   DataModule1->ADOTable1->FieldByName("CA")->AsString =
> PNodeData(Node->Data)->CA;
>   DataModule1->ADOTable1->FieldByName("EC")->AsString =
> PNodeData(Node->Data)->EC;
>   if(PNodeData(Node->Data)->Frequency.IsEmpty())
>            DataModule1->ADOTable1->FieldByName("Frequency")->AsInteger =
0;
>           else
>            DataModule1->ADOTable1->FieldByName("Frequency")->AsInteger =
> StrToInt(PNodeData(Node->Data)->Frequency);
>           DataModule1->ADOTable1->FieldByName("Description")->AsString =
> PNodeData(Node->Data)->Description;
>
>           DataModule1->ADOTable1->Post();
>
> ...
> //Some codes to obtain next record from memory.
> ...
>
>      }while(Node);
> }
>
>
Technical Details
Message-ID: <3d023781_2@dnews>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-06!supernews.com!newspeer2.tds.net!newsfeed.online.be!news-hub.siol.net!zur.uu.net!dca.uu.net!newsfeeds.ihug.co.nz!ihug.co.nz!dnews
References: <3d021be7_2@dnews>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10698b,856e9c01d3c42b29
X-Google-Attributes: gid10698b,public
X-Google-ArrivalTime: 2002-06-08 10:13:25 PST
Reply-To: "Yuancai \(charlie\) Ye" <yekerui@yahoo.com>
From: "Yuancai \(charlie\) Ye" <yekerui@yahoo.com>
Newsgroups: borland.public.cppbuilder.database.ado
References: <3d021be7_2@dnews>
Subject: Re: It is too many slow...
Date: Sat, 8 Jun 2002 12:58:38 -0400
Lines: 102
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2462.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2462.0000
NNTP-Posting-Host: 12.92.216.226
Message-ID: <3d023781_2@dnews>
X-Trace: dnews 1023555457 12.92.216.226 (8 Jun 2002 09:57:37 -0700)
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-06!supernews.com!newspeer2.tds.net!newsfeed.online.be!news-hub.siol.net!zur.uu.net!dca.uu.net!newsfeeds.ihug.co.nz!ihug.co.nz!dnews