Показать сообщение отдельно
Старый 06.02.2003, 07:48   #29  
edd is offline
edd
Участник
 
81 / 10 (1) +
Регистрация: 20.01.2003
2 KSS
Нижеследующий код дает такие результаты:
Сообщение (09:45:02)
Время выполнения операции: 00:00:00
Время выполнения операции: 00:00:04

Т.е. ADO работает достаточно быстро, а медленно работает извлечение данных :-(

Как это побороть?!!!

void clicked()
{
CCADOConnection cn = new CCADOConnection() ;
CCADOCommand command = new CCADOCommand() ;
CCADORecordset rs = new CCADORecordset() ;
str _str = "" ;
str filename ;
int pos ;
int timeStamp ;
FileNameFilter filter ;
;
super();
filter = ['DBF files','ob23*.dbf'];
filename = Winapi::getOpenFileName(element.hWnd(),filter,'','', '','');
pos = StrScan(StrUpr(filename),"OB23",1,255);
_str = SubStr(StrUpr(filename),1,pos-1);

cn = new CCADOConnection();
cn.open("Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq="+_str+";");
command.activeConnection(cn);
_str = "select * from "+SubStr(StrUpr(filename),pos,StrLen(StrUpr(filename)));
timeStamp = timeNow();
command.commandText("select * from "+SubStr(StrUpr(filename),pos,StrLen(StrUpr(filename))));
info(strFmt('Время выполнения операции: %1', time2str(timeNow() - timeStamp,1,1)));

if (cn)
{
rs = command.execute();
while (!rs.EOF())
{
rs.moveNext();
}
rs.close();
info(strFmt('Время выполнения операции: %1', time2str(timeNow() - timeStamp,1,1)));
OB23_DS.executeQuery();
}
}