Article View: borland.public.cppbuilder.database.ado
Article #3859It is too many slow...
From: M. Noroozi Eghbali
Date: Sat, 08 Jun 2002 15:00
Date: Sat, 08 Jun 2002 15:00
81 lines
4159 bytes
4159 bytes
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:
<3d021be7_2@dnews>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news1.google.com!sn-xit-02!sn-xit-08!supernews.com!iad-peer.news.verio.net!news.verio.net!newsfeed.wirehub.nl!PeerFeed.KWeb.on.ca!dnewsShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 10698b,856e9c01d3c42b29,start X-Google-Attributes: gid10698b,public X-Google-ArrivalTime: 2002-06-08 08:08:53 PST From: "M. Noroozi Eghbali" <galaxy@irandoc.ac.ir> Newsgroups: borland.public.cppbuilder.database.ado Subject: It is too many slow... Date: Sat, 8 Jun 2002 19:30:47 +0430 Lines: 83 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 NNTP-Posting-Host: 213.176.21.5 Message-ID: <3d021be7_2@dnews> X-Trace: dnews 1023548391 213.176.21.5 (8 Jun 2002 07:59:51 -0700) Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news1.google.com!sn-xit-02!sn-xit-08!supernews.com!iad-peer.news.verio.net!news.verio.net!newsfeed.wirehub.nl!PeerFeed.KWeb.on.ca!dnews