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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2012, 14:13   #31
Chicharrr
Пользователь
 
Регистрация: 12.05.2012
Сообщений: 38
По умолчанию

База данных MS Access , подключаюсь через ADOConnection,DataSource,ADoTable.
Структура таблицы Выпискадебет
Код=счетчик
Номер=текстовый [20]
дата=Дата/время
Вид операции=числовой
Код банка=текстовый [30]
Счет=текстовый [30]
УНП=текстовый [40]
наименование поставщика=текстовый [60]
Сумма=денежный
Назначение платежа=текстовый [255]

вот код по которому я добавляла из текстового файла в бд
Код:
for i:=1 to n do
   begin
     if (Memo1.Lines.Strings[k]<>'') then
     begin
       DataModule2.VipiskaDEB.Insert;
       DataModule2.VipiskaDEB.FieldValues['Номер']:=memo1.Lines.Strings[k];
       DataModule2.VipiskaDEB.Post;
       k:=k+18;
     end;
   end;

DataModule2.VipiskaDEB.Active:=false;
DataModule2.VipiskaDEB.Active:=true;


___________
Вы когда научитесь код форматировать!?!?!

Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)

Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 12.05.2012 в 14:28.
Chicharrr вне форума Ответить с цитированием
Старый 12.05.2012, 14:21   #32
Chicharrr
Пользователь
 
Регистрация: 12.05.2012
Сообщений: 38
По умолчанию

теперь возвращаясь к типизированному файлу.
файл на диске должен СТРОГО (байт в байт) соответствовать вашему типу MyRec (точнее, Ваш тип MyRec должен с точностью до байта соответствовать типизированному файлу.

какого формата лучше файл создавать? и как это проверить соответствует или нет..мне кажется , что моя главная ошибка в этом..
Chicharrr вне форума Ответить с цитированием
Старый 12.05.2012, 14:25   #33
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
какого формата лучше файл создавать? и как это проверить соответствует или нет..мне кажется , что моя главная ошибка в этом..
СТОП!
Раз Вы его ПРОЧИТАЛИ в мемо без ошибок, значит структура записи СООТВЕТСТВУЕТ содержимому файла!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.05.2012, 14:29   #34
Chicharrr
Пользователь
 
Регистрация: 12.05.2012
Сообщений: 38
По умолчанию

Как же тогда сделать чтобы без ошибок загрузить сразу в бд без мемо..с мемо очн много прописывать..вы смотрели мой код.. как я пыталась сразу в бд? если изменить и не прописывать каждую строку..а прочитать запись как выше писали.может и сработает?
Chicharrr вне форума Ответить с цитированием
Старый 12.05.2012, 14:37   #35
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

делайте кнопочку.
на кнопку примерно такой код:
Код:
var
  s: string;
  MyVar: MyRec;
  f: file of MyRec;
begin
  AssignFile(f, 'e:\MyFile.bin');

  try
    Reset(f); // открыть для чтения

{     Memo1.Lines.Clear; }  // очистим мемо, куда будем сбрасывать строчки

     // читаем пока не конец файла
    while not EOF(f) do
    begin
      Read(f, MyVar); // считываем ЗАПИСЬ из файла

{      with MyVar do
         s := 'Номер='+Nom + ' Дата= '+DateToStr(data)+' VidOp='+ IntToStr(VidOp)+
                ' kodb = '+ kodb + ' shet = ' + shet +' unp='+unp+
                ' name ='+ name+
                ' sum=' + FloatToStr(  sum )+
                ' naz=' + naz;
       Memo1.Lines.Add(s);  //заносим эту строку в поле мемо1
}
      DataModule2.VipiskaDEB.Insert;
      with MyVar do begin
        DataModule2.VipiskaDEB.FieldValues['Номер'] := Nom;
        DataModule2.VipiskaDEB.FieldValues['дата'] := data;
        DataModule2.VipiskaDEB.FieldValues['Вид операции'] := VidOp;
        DataModule2.VipiskaDEB.FieldValues['Код банка'] := kodb;
        DataModule2.VipiskaDEB.FieldValues['Счет'] := shet;
        DataModule2.VipiskaDEB.FieldValues['УНП'] := unp;
        DataModule2.VipiskaDEB.FieldValues['наименование поставщика'] := name;
        DataModule2.VipiskaDEB.FieldValues['Сумма'] := sum;
        DataModule2.VipiskaDEB.FieldValues['Назначение платежа'] := naz;
      end;
      DataModule2.VipiskaDEB.Post;
    end;

    DataModule2.VipiskaDEB.Active := false;
    DataModule2.VipiskaDEB.Active := true;


    CloseFile(f); // закрываем файл
  except
    MessageDlg('Ошибка при доступе или чтении файла, либо файл не найден' +
      fName,
      mtError, [mbOk], 0); exit;
  end;
end;

вывод в мемо я закомментировал. Ибо не нужен он для работы.
Но если есть желание/необходимость - расскомментируйте нужные строчки...

Последний раз редактировалось Serge_Bliznykov; 12.05.2012 в 14:39.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.05.2012, 14:40   #36
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Зачем вам файл?
=master= вне форума Ответить с цитированием
Старый 12.05.2012, 14:48   #37
Chicharrr
Пользователь
 
Регистрация: 12.05.2012
Сообщений: 38
По умолчанию

Огромное спасибо!!Заработало!!!
Chicharrr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
чтение из типизированного файла kyop Паскаль, Turbo Pascal, PascalABC.NET 9 13.07.2011 17:32
Удаление записей из типизированного файла whiskey Общие вопросы Delphi 6 30.10.2010 15:05
создание типизированного файла Siluet Общие вопросы Delphi 10 26.09.2009 12:47
Загрузка данных из типизированного файла diliana Паскаль, Turbo Pascal, PascalABC.NET 33 30.07.2009 14:59