Article View: borland.public.cppbuilder.database.ado
Article #3861Re: It is too many slow...
From: Yuancai (charlie) Ye
Date: Sat, 08 Jun 2002 16:58
Date: Sat, 08 Jun 2002 16:58
100 lines
4841 bytes
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!dnewsReferences:
<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