请大家帮忙解决读数据库内存暴涨的问题
今天做了一个测试:
(1)TADOConnection、TADOQuery控件放在TDataModule中
(2)从数据库读出10万条数据
(3)在Form1中执行以下代码
AnsiString temp;
while(!DataModule1->ADOQuery1->Eof)
{
temp=DataModule1->ADOQuery1->FieldByName("field1")->AsString;
temp=DataModule1->ADOQuery1->FieldByName("field2")->AsString;
temp=DataModule1->ADOQuery1->FieldByName("field3")->AsString;
…………
…………
temp=DataModule1->ADOQuery1->FieldByName("field50")->AsString;
DataModule1->ADOQuery1->Next();
}
程序占用的内存暴涨到180MB
问题:
(1)程序运行完成后,需要手工释放ADOQuery1吗?如何释放?
(2)程序运行完成后,需要手工释放DataModule1吗?如何释放?
目前我的程序一运行就涨内存。由于程序需要24小时不间断运行,占用的内存越来越大。怎么办?
我在该板块中也提问了类似问题,但是没有结果,今天做了具体的测试,恳请大家出招。