| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Запись: текстовый файл построчно в таблицу Access |
| Автор: vvs 19.1.2004, 15:03 |
| Здравствуйте! Если перед кем стояла задача обработки отчетов, содержащихся в текстовых файлах, а таблицы хранились в Базе Access, помогите советом. Привожу исходник: var TextSTR: String; MyList: TStringList; i: Integer; begin MyList := TStringList.Create; TextSTR := ExtractFilePath(ParamStr(0)) + '\Files\' + 'work1.txt'; MyList.LoadFromFile(TextSTR); dtmMayn.tbl_be.Open; ProgressBar1.Max := MyList.Count - 1; ProgressBar1.Min := 1; ProgressBar1.Visible := True; for i := 1 to MyList.Count - 1 do begin dtmMayn.tbl_be.AppendRecord([MyList.Strings[i]]); ProgressBar1.Position := i; end; dtmMayn.tbl_be.Close; ProgressBar1.Visible := False; На мой взгляд узкое место в блоке добавления новой записи в таблицу. Для доступа к базе использую ADO. |
| Автор: December 19.1.2004, 22:18 |
| В чём проблема-то? |
| Автор: Medved 20.1.2004, 01:35 |
| А что Вы понимаете под словосочетанием "узкое место"? Если Вам не нравиться стиль, так используйте альтернативные операторы (InsertRecord, Append, Insert) или в конце концов тот же SQL. Если же у Вас ошибка, то скажите какая, что за сообщение выдается. Сиинтаксис у Вас правильный, написали все правильно. |
| Автор: vvs 20.1.2004, 07:02 |
| Меня интерисует скорость добавления новых записей в таблицу. Эта операция в самом Accesse занимает около 3-ех секунд, при добавдении записей из Delphi, секунд 30, в текстовом файле около 3 тысяч строк и файл постоянно растет. Меня беспокоит что будет со скоростью проведения этой операции через полгода, год. Сам текстовый файл считывается практически мгновенно. Может есть какая-то возможность сделать Append сразу всей информации из текстового файла в таблицу и если есть, повлияет ли это на скорость? Пробовал и SQL, Append записей построчно, скорость соответственно таже. |
| Автор: Unregistered 20.1.2004, 14:23 |
| гораздо быстрее будет заставить сам акссесс открыть нужный тебе файл и засунуть в собственную таблицу, т.к. в данном случае тебе надо будет передавать чужой программе не большой объём данных, а всего лишь набор команд. |
| Автор: x77 20.1.2004, 14:24 |
| во блин, с каких это пор я анрегистеред?? сорри за оффтоп. |
| Автор: vvs 21.1.2004, 11:14 |
| Если можно, маленький пример мне не помешал бы! |
| Автор: Medved 22.1.2004, 03:11 |
| пример чего? Если макросов, то это в раздел VB, и создавайте там новый топик. |
| Автор: vvs 23.1.2004, 08:50 |
| В Accesse модуль есть, его использовал раньше, сейчас взялся оболочку написать на дельфи. С вызовом макросов Accessa из дельфи не сталкивался, если можно подскажите как это делается, или где посмотреть. Спасибо! |
| Автор: Medved 26.1.2004, 23:14 |
| Читайте наш FAQ. Там есть примеры работы с Access. (ActivX,COM) |