Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2010, 21:02   #1
Poltev86
Пользователь
 
Аватар для Poltev86
 
Регистрация: 15.05.2010
Сообщений: 31
По умолчанию Создание из текстового файла базу данных

Вообщем суть такова!!! Есть текстовый файл размером 100 мб...его надо загнать в бд...я делаю так...агружаю его...потом нужные для бд объекты выделяю и копирую BDMemo..так как файл большой все это делаеться очень долго..может подскажите как ускорить

Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var

  find,Copys:String; //Переменная типа объект TStringList.
  i:Integer; // Счётчик
 begin
    find:='п/дела';
    repeat
      begin
         memo1.Lines.BeginUpdate;
      try
    if pos(find,Memo1.Lines.Text)<>0 then
       begin
         DataModule2.ADOTable1.Insert;

         memo1.SetFocus();
         memo1.SelStart:=pos(find,Memo1.Lines.text)+7;
         memo1.SelLength:=Length(find);

         DBEdit1.Text:=copy(Memo1.Lines.Text,pos(find,Memo1.Lines.text)+7,Length(find));
         DBEdit2.Text:=MaskEdit1.Text;
         DBEdit3.Text:=MaskEdit2.Text;

         //memo1.SetFocus();
        memo1.SelStart:=pos(find,Memo1.Lines.text)-230;
         memo1.SelLength:=Length(find)+1295;
         Copys:=copy(Memo1.Lines.Text,pos(find,Memo1.Lines.text)-230,Length(find)+1295);
         Memo1.ClearSelection;


         DBMemo1.Lines.Add(Copys);

         If DataModule2.ADOTable1.Modified then
         DataModule2.ADOTable1.Post;
         DataModule2.ADOTable1.Refresh;
         Application.ProcessMessages;


    end else ShowMessage('Ошибка в ФАЙЛЕ '); // Конец для цикла
     finally
     Memo1.Lines.EndUpdate;
   end;  end;

     until Memo1.Lines.Count<5; ShowMessage('Конвертация оконченна');
 end;

Последний раз редактировалось Poltev86; 16.05.2010 в 01:25.
Poltev86 вне форума Ответить с цитированием
Старый 19.05.2010, 10:47   #2
Poltev86
Пользователь
 
Аватар для Poltev86
 
Регистрация: 15.05.2010
Сообщений: 31
По умолчанию

Тема закрыта всем спасибо
Poltev86 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Memo Kyran29 Общие вопросы Delphi 8 27.09.2009 00:29
Проблемы с кодировкой в компоненте MEMO SANIOK_AV Общие вопросы Delphi 29 10.04.2009 15:36
Перевод из Memo по английскому в Memo по русскому Sanek777 Общие вопросы Delphi 5 26.09.2008 00:17
В Memo сделать так, чтобы текст был разного цвета, разноцветный memo Artem Компоненты Delphi 3 07.09.2007 13:40
В Memo ввёл раз!!! в Memo ввёл два!!! а где Memo ввёл раз??? Хs-You Компоненты Delphi 6 19.08.2007 19:48