Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

вставка данных в dbf [D7, MSSQL, Paradox]


Страницы:   1 2

Lexiy ©   (2006-03-21 10:45:00) 

вот таким образом загоняю в dbf файл данные

 var
  i, j: integer;
  Begin
    try
      ProgressBarWork.Step := 1;
      ProgressBarWork.Position := 0;
      Querys.First;
      if not Querys.Eof then
        begin
          ADOTableDbf.TableName := 'bnk';
          ADOTableDbf.Active := True;
          i := Querys.FieldCount - 1;
          Querys.First;
          while not Querys.eof do
            begin
              ADOTableDbf.Insert;
              for j:=0 to i do
                begin
                  ADOTableDbf.Fields[j].Value := Querys.Fields[j].Value;
                end;
              ProgressBarWork.StepIt;
              Querys.Next;
            end;
        end
      else
        begin
          Application.MessageBox('Нет данных для загрузки в файл', 'Загрузка');
        end;
      ADOTableDbf.Post;
      Result := True;
    except
      Result := False;


загоняется порядка 530-540 строк а дальше баг .... в чем ошибка ? проверял по отдельности ... записей у меня приблизительно 600 поделил по полам ...поочередно ... т.е. открыл программу загнал трист закрыл программу открыл еще раз загнал остаток ... прекрасно не вопрос ... а вот сразу не понятки ... может кто знает почему ?


Сергей М.   (2006-03-21 13:12:00) [21]


> sniknik ©   (21.03.06 12:30) [7]


> вовсе не обязательно


"следует" <> "обязательно требуется"

А по поводу "магического" числа 530 - оно могло быть и другим .. Зависит от размера записи в байтах .. Это - особенности реализации DBF-движка


sniknik   (2006-03-21 12:30:00) [22]

> Post() следует вызывать после каждого Insert() !
вовсе не обязательно, одного раза в конце цикла достаточно (желательно с проверкой на состояние датасета), т.к. он и так вызывается многими командами автоматом (в самом Insert проверка и вызов например есть).


Сергей М.   (2006-03-21 12:13:00) [23]

Post() следует вызывать после каждогоInsert() !


stone   (2006-03-21 11:55:00) [24]


> вот таким образом загоняю в dbf файл данные

insert into OpenDataSource (''Microsoft.Jet.OLEDB.4.0'',''Data Source="C:\MyDir";Extended properties=dBase IV'')...MyTable (Field1...) select Field1... from MyTable


Lexiy   (2006-03-21 11:12:00) [25]

ну хорошо ... может тогда кто знает а как отпустить файл dbf  после всех вот этих вставок ... просто если не закрываю мою програмку я пытаюсь его просмотреть мне говорят что он занят ... и бла бла бла можно только почитать


Lexiy   (2006-03-21 11:04:00) [26]

иногда бывает Р95  или 93

непонятный момент самое главное исключительно на количестве записей больше 530


Lexiy   (2006-03-21 11:03:00) [27]

да постил я после инсерта ... это просто после всех моих разбирательств на место не поставил .. спасибо это исправил но ошибка все равно осталось

ошибка звучит так

Project CreateDbf.exe raised exception class EOleException with message '[Microsoft][ODBC Visual FoxPro Driver]Variable 'Q535P92' is not found


Sergey13   (2006-03-21 10:57:00) [28]

> а дальше баг ....
Какой?

>в чем ошибка ?
Какая?

Не мешало бы постить после инсерта.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо