Конференция "Базы" » Временная таблица [D7]
 
  • Beer_Hunter (14.05.08 02:08) [0]
    Здравствуйте. Очень надеюсь на вашу помощь!!!!!
    Есть БД FoxPro и excel файл.
    // Беру строчку из foxpro и ищу соответствующую ей строку в excel

    FoxProQuery.Active:=false;
    FoxproQuery.SQl.text:='select Name1,Name2 from "D:\1.dbf"';
    FoxProQuery.Active:=true;
    while not (FoxProQuery.eof) do
    begin
    ExcelQuery.Active:=false;
    Excel.Query.SQL.TEXT:='select поле1,поле2,поле3 from [Лист1$] where поле1='''+
    VarToStr(FoxProQuery.FieldValue['Name1'])+'''';
    ExcelQuery.Active:=true;
    // здесь если в ExcelQuery что-то есть, то вызываю процедуру
    end;

    Все работает исправно, но о-о-чень долго. Появилась идея создать временную таблицу, выгрузить внеё одним махом excel файл и в цикле while работать уже с ней, а после цикла удалять её. А вся проблема заключается в том,ч тоя не знаю как создавать локальную временную таблицу. Буду очень признателен, если вы мне поможете.
  • Loginov Dmitry © (14.05.08 07:44) [1]
    > но о-о-чень долго


    а где FoxProQuery.Next ?
  • Beer_Hunter (14.05.08 10:30) [2]
    Забыл в коде написать, извиняюсь. В коде все нормально, можете его не проверять, сам не знаю для чего влепил. Мой основной вопрос:

    Появилась идея создать временную таблицу, выгрузить внеё одним махом excel файл и в цикле while работать уже с ней, а после цикла удалять её. А вся проблема заключается в том,ч тоя не знаю как создавать локальную временную таблицу. Буду очень признателен, если вы мне поможете.
  • Beer_Hunter (14.05.08 10:30) [3]
    Удалено модератором
  • Виталий Панасенко(дом) (14.05.08 10:55) [4]
    проще все загрузить в ExcelQuery... а потом уже вместо подвыборок делать простой Locate по "Поле1"... я сам так делал один отчет..думал, быстрее. фиг там.. уходили часы(БД удаленная, канал 19200).. потом плюнул смачно, втянул все на клиента и уже по НД мотался... время сократилось до 14-15 минут
 
Конференция "Базы" » Временная таблица [D7]
Есть новые Нет новых   [134433   +22][b:0][p:0]