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();
}
}
|