Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Снова про парсинг текстового файла в БД  [new]
ZdenniZ
Member

Откуда:
Сообщений: 12
Всем привет! Путем парсинга и обработки html таблицы, вытащил из нее данные в таком окончательном виде в stringlist:


06.07.2018
11,48
20 654,46
н/п
4,54
1
н/п
н/п
07.07.2018
35,80
20 690,26
н/п
2,98
1
н/п
н/п

То есть каждые 8 строк в этом stringlist - это одна запись БД (от даты до даты). Теперь мне нужно все это дело циклом засунуть в базу данных так, чтобы цикл каждые восемь строк stringlist-а автоматом переходил на новую запись в таблице и писал уже туда и так до eof (данных здесь может быть много больше в зависимости от выбранных дат, но они всегда будут через восемь строк, так как набор полей в хтмл таблице фиксированный). Всю голову сломал, не пойму как это сделать... Подскажите плизз.
9 июл 18, 08:40    [21554956]     Ответить | Цитировать Сообщить модератору
 Re: Снова про парсинг текстового файла в БД  [new]
krapotkin
Member

Откуда: Екатеринбург
Сообщений: 634
q.sql.text:='insert into table (f1,f2,f3,f4,f5,f6,f7,f8) values (:f1,:f2,:f3,:f4,:f5,:f6,:f7,:f8)';
n:=0; 
while n<list.count do
begin
  q.parameters.parambyname('f1').value := list[n+0];
  q.parameters.parambyname('f2').value := list[n+1];
  q.parameters.parambyname('f3').value := list[n+2];
  q.parameters.parambyname('f4').value := list[n+3];
  q.parameters.parambyname('f5').value := list[n+4];
  q.parameters.parambyname('f6').value := list[n+5];
  q.parameters.parambyname('f7').value := list[n+6];
  q.parameters.parambyname('f8').value := list[n+7];
  q.execSql;
  inc(n,8);
end;
9 июл 18, 08:54    [21554968]     Ответить | Цитировать Сообщить модератору
 Re: Снова про парсинг текстового файла в БД  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12478
Я бы не отказался от лишних проверок
9 июл 18, 11:36    [21555486]     Ответить | Цитировать Сообщить модератору
 Re: Снова про парсинг текстового файла в БД  [new]
ZdenniZ
Member

Откуда:
Сообщений: 12
krapotkin,
Спасибо! Это работает. Однако, очень странно отрабатывает strtofloat, делает тонну знаков после запятой в БД. Как ограничить двумя знаками, как в оригинальном stringlist-e, подскажите плизз ).
9 июл 18, 13:57    [21556143]     Ответить | Цитировать Сообщить модератору
 Re: Снова про парсинг текстового файла в БД  [new]
ZdenniZ
Member

Откуда:
Сообщений: 12
ZdenniZ
Однако, очень странно отрабатывает strtofloat, делает тонну знаков после запятой в БД.


Разобрался, делфи тут оказался не причем, это из-за типа данных в самой БД (стоял float).
9 июл 18, 14:39    [21556445]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить