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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2016, 15:15   #1
maaxa
 
Регистрация: 19.02.2016
Сообщений: 3
По умолчанию Запись результата в БД

Добрый день.
Задача стоит такая выгрузить полиса из базы данных, отправить их на сайт программным путем, далее спарсить полученные результаты и записать в базу данных.
Это надо для того что бы определять у кого из людей полис активный, а у кого нет.
Подключаюсь к БД Oracle с помощью ADOQuery получаю результат:
id, ФИО, Дата рождения, номер полиса. (очень много строк)
Все это дело отображается в DBGrid.
Далее я сделал так:

Код:
procedure TForm2.DBGrid1CellClick(Column: TColumn);
var
http: TidHttp;
html, cookie,a,b,c,d,e,f,g: string;
resp : integer;
data: tstringlist;
begin
Memo2.Text:=' ';
Memo1.Text:=' ';
dbedit3.Text:=' ';

aDOQuery2.Active:=False;
ADOQuery2.Parameters.ParamByName('pac').Value:= dbedit1.Text;
ADOQuery2.Active:=True;

aDOQuery3.Active:=False;
ADOQuery3.Active:=True;

HTTP:=TidHttp.Create;
data:=TStringList.Create;
data.Add('MSOTlPn_View=0');
data.Add('MSOTlPn_ShowSettings=False');
data.Add('MSOTlPn_Button=none');
data.Add('__REQUESTDIGEST=0xBA63B4DE498B6F01E67D44 5BE39384271817C550269DC6B6D6C6577355A406A9C7FD0B4E 027FBC7500EDAE36E2A08D994FEE59A837FCCE2B4739FFDD14 656F38,'+DBEdit3.Text); //12 Jan 2016 11:15:28 -0000
data.Add('MSOSPWebPartManager_DisplayModeName=Brow se');
data.Add('MSOSPWebPartManager_ExitingDesignMode=fa lse');
data.Add('MSOSPWebPartManager_OldDisplayModeName=B rowse');
data.Add('MSOSPWebPartManager_StartWebPartEditingN ame=false');
data.Add('MSOSPWebPartManager_EndWebPartEditing=fa lse');
data.Add('_maintainWorkspaceScrollPosition=0');
data.Add('__VIEWSTATE=/wEPDwUBMA9kFgJmD2QWAgIBD2QWAgIDD2QWCgIDD2QWAgUmZ18 4Yzg2Y2VkNV82NTY5XzRmOWRfYWVhZl9jZDlkNjlhZmMzN2'+
'EPZBYEZg8WAh4HVmlzaWJsZWhkAgEPFgIfAGhkAhEPZBYEZg9 kFgQCAQ9kFgJmD2QWBAICD2QWFAIBDxYCHwBoZAIDDxYIHhNDb GllbnRPbkNs'+
'aWNrU2NyaXB0BW9qYXZhU2NyaXB0OkNvcmVJbnZva2UoJ1Rha 2VPZmZsaW5lVG9DbGllbnRSZWFsJywxLCAxLCAnaHR0cHM6XHU wMDJmXHUwMDJm'+
'YXJob2ZvbXMucnVcdTAwMmZvbXMnLCAtMSwgLTEsICcnLCAnJ ykeGENsaWVudE9uQ2xpY2tOYXZpZ2F0ZVVybGQeKENsaWVudE9 uQ2xpY2tTY3Jpc'+
'HRDb250YWluaW5nUHJlZml4ZWRVcmxkHgxIaWRkZW5TY3JpcH QFIVRha2VPZmZsaW5lRGlzYWJsZWQoMSwgMSwgLTEsIC0xKWQC BQ8WAh8AaGQCBw'+
'8WAh8AaGQCCQ8WAh8AaGQCCw8WAh8AaGQCDw8WAh8AaGQCEQ8 WAh8AaGQCEw8WAh8AaGQCFQ8WAh8AaGQCAw8PFgoeCUFjY2Vzc 0tleQUBLx4PQXJy'+
'b3dJbWFnZVdpZHRoAgUeEEFycm93SW1hZ2VIZWlnaHQCAx4RQ XJyb3dJbWFnZU9mZnNldFhmHhFBcnJvd0ltYWdlT2Zmc2V0WQL rA2RkAgMPZBYCAgE'+
'PZBYCAgMPZBYCAgEPPCsABQEADxYCHg9TaXRlTWFwUHJvdmlk ZXIFEVNQU2l0ZU1hcFByb3ZpZGVyZGQCAQ9kFgYCBQ9kFgICAQ 8QFgIfAGhkFCsBAGQC'+
'Bw9kFgJmD2QWAmYPFCsAA2RkZGQCCQ8PFgQeBFRleHQFS9CX0 LDQv9GD0YHQuiDQv9Cw0L3QtdC70Lgg0LzQvtC90LjRgtC+0YD QuNC90LPQsCDRgNCw0L'+
'fRgNCw0LHQvtGC0YfQuNC60L7Qsh8AaGRkAhcPZBYCAgEPZBY CZg9kFgICAQ8PZBYGHgVjbGFzcwUibXMtc2J0YWJsZSBtcy1zY nRhYmxlLWV4IHM0LXNlYXJjaB'+
'4LY2VsbHBhZGRpbmcFATAeC2NlbGxzcGFjaW5nBQEwZAIpD2Q WAgIJD2QWAgIBDw8WAh8AaGQWAgIDD2QWAmYPZBYCAgMPZBYCA gUPDxYEHgZIZWlnaHQbAAAAAAAAeUABAAAA'+
'HgRfIVNCAoABZBYCAgEPPCsACQEADxYEHg1QYXRoU2VwYXJhd G9yBAgeDU5ldmVyRXhwYW5kZWRnZGQCPQ9kFgICAg9kFgQCBQ8 PFhIeC0Rlc2NyaXB0aW9uZR4JRGlyZWN0aW9uC'+
'yoqU3lzdGVtLldlYi5VSS5XZWJDb250cm9scy5Db250ZW50RG lyZWN0aW9uAB4FVGl0bGUFC1JSWlNlYXJjaFNOHgpDaHJvbWVU eXBlAgIfEAKAgwgeBVdpZHRoHB4QRmlsdGVyT3Bl'+
'cmF0aW9uczKNBQABAAAA/////wEAAAAAAAAABAEAAACTAlN5c3RlbS5Db2xsZWN0aW9ucy5HZW5 lcmljLkRpY3Rpb25hcnlgMltbU3lzdGVtLlN0cmluZywgbXNjb 3JsaWIsIFZlcnN'+
'pb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNL ZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XSxbTWljcm9zb2Z0Ll NoYXJlUG9pbnQuV2ViUGFydFBhZ2VzLkZpbHRlck9w'+
'ZXJhdGlvbiwgTWljcm9zb2Z0LlNoYXJlUG9pbnQsIFZlcnNpb 249MTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V 5VG9rZW49NzFlOWJjZTExMWU5NDI5Y11dAwAAAAdWZXJ'+
'zaW9uCENvbXBhcmVyCEhhc2hTaXplAAMACJIBU3lzdGVtLkNv bGxlY3Rpb25zLkdlbmVyaWMuR2VuZXJpY0VxdWFsaXR5Q29tcG FyZXJgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZl'+
'cnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsa WNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0IAAAAAAkCAAA AAAAAAAQCAAAAkgFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZ'+
'XJpYy5HZW5lcmljRXF1YWxpdHlDb21wYXJlcmAxW1tTeXN0ZW 0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj0yLjAuMC4wLCBD dWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E'+
'1YzU2MTkzNGUwODldXQAAAAALHw8cHgtQYXJhbVZhbHVlczK9 BAABAAAA/////wEAAAAAAAAADAIAAABYTWljcm9zb2Z0LlNoYXJlUG9pbnQsIFZ lcnNpb249MTQuMC4wLjAsIEN1bHR1cmU9bm'+
'V1dHJhbCwgUHVibGljS2V5VG9rZW49NzFlOWJjZTExMWU5NDI 5YwUBAAAAPU1pY3Jvc29mdC5TaGFyZVBvaW50LldlYlBhcnRQY Wdlcy5QYXJhbWV0ZXJOYW1lVmFsdWVIYXNodGFibGUBAAAAB'+ 
'V9jb2xsAxxTeXN0ZW0uQ29sbGVjdGlvbnMuSGFzaHRhYmxlAg AAAAkDAAAABAMAAAAcU3lzdGVtLkNvbGxlY3Rpb25zLkhhc2h0 YWJsZQcAAAAKTG9hZEZhY3RvcgdWZXJzaW9uCENvbXBhcmVyE' +
'Ehhc2hDb2RlUHJvdmlkZXIISGFzaFNpemUES2V5cwZWYWx1ZX MAAAMDAAUFCwgcU3lzdGVtLkNvbGxlY3Rpb25zLklDb21wYXJl ciRTeXN0ZW0uQ29sbGVjdGlvbnMuSUhhc2hDb2RlUHJvdmlkZX '+
'II7FE4PxoAAAAKCgsAAAAJBAAAAAkFAAAAEAQAAAAEAAAABgY AAAAGVXNlcklEBgcAAAACU04GCAAAAApGaWx0ZXJMaW5rBgkAA AAFVG9kYXkQBQAAAAQAAAAGCgAAAA9DdXJyZW50VXNlck5hbWU '+
'GCwAAABAyOTkzNDg5NzIwMDAwMDQxBgwAAAABPwYNAAAAFDIw MTYtMDEtMTJUMTQ6MTU6MjhaC2QWAmYPD2QPEBYBZhYBFgIeDl BhcmFtZXRlclZhbHVlBRAyOTkzNDg5NzIwMDAwMDQxDxYBAgcW A'+
'QWNAU1pY3Jvc29mdC5TaGFyZVBvaW50LldlYlBhcnRQYWdlcy 5EYXRhRm9ybVBhcmFtZXRlciwgTWljcm9zb2Z0LlNoYXJlUG9p bnQsIFZlcnNpb249MTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbC wgUH'+
'VibGljS2V5VG9rZW49NzFlOWJjZTExMWU5NDI5Y2RkAgcPZBY EZg8WAh8AaGQCAQ8WAh8AaGQYAgUrY3RsMDAkUGxhY2VIb2xkZ XJMZWZ0TmF2QmFyJFF1aWNrTGF1bmNoTWVudQ8PZAVg0KDQtdC z0LjR'+
'gdGC0YAg0LfQsNGB0YLRgNCw0YXQvtCy0LDQvdC90YvRhVzQn 9C+0LjRgdC6INC/0L4g0YHQtdGA0LjQuC/QvdC+0LzQtdGA0YMg0L/QvtC70LjRgdCwZAVFY3RsMDAkUGxhY2VIb2xkZXJUb3BOYXZCY X'+
'IkUGxhY2VIb2xkZXJIb3Jpem9udGFsTmF2JFRvcE5hdmlnYXR pb25NZW51Dw9kBQ7Qk9C70LDQstC90LDRj2QeTrzW7msSghg8m vvoonwo+bo8oQ==');
data.Add('__VIEWSTATEGENERATOR=AB769156');
data.Add('__EVENTVALIDATION=/wEWBgKoxcuMCwKpn5bCCwKjkeOEBgLNrvW5AwKdgfPdCwKG4J4 hcLR60ArTyb515wq2WYP4RSfp7L8=');
data.Add('ctl00$PlaceHolderSearchArea$ctl01$ctl00= https://arhofoms.ru/oms');
data.Add('ctl00$PlaceHolderSearchArea$ctl01$SBScop esDDL=Этот сайт');
data.Add('ctl00$PlaceHolderMain$txtSearchSN='+DBEd it2.Text);
data.Add('ctl00$PlaceHolderMain$btnSearchStart=Най ти');
html:=http.Post('https://78.37.97.251/oms/rrz/rrzsearchsn.aspx',data);
memo1.Lines.Add(html);
if pos('Внимание! По заданным условиям ничего не найдено.',html)> 0 then
Memo2.Text := 'Внимание! По заданным условиям ничего не найдено.'
else
a:=copy(memo1.Text,pos('<th class="ms-vh" nowrap>Наименование СМО</th></tr><tr class="ms-alternating"><td class="ms-vb">',memo1.Text)+96,140);
b:=copy(memo1.Text,pos('<th class="ms-vh" nowrap>Наименование СМО</th></tr><tr class="ms-alternating"><td class="ms-vb">',memo1.Text)+96,11);
c:=copy(a,pos('</td><td class="ms-vb">',a)+23,140);
d:=copy(a,pos('</td><td class="ms-vb">',a)+23,18);
e:=copy(c,pos('</td><td class="ms-vb">',c)+23,140);
f:=copy(c,pos('</td><td class="ms-vb">',c)+23,16);
g:=copy(e,pos('</td><td class="ms-vb">',e)+23,100);
Memo2.Text:=b;
Memo3.Text:=d;
Memo4.Text:=f;
Memo5.Text:=g;
end;
Получается когда щелкаю по DBGrid результат выводит, но как сделать так чтобы автоматом все записи прошли этот цикл и записались в БД?
Заранее спасибо.

Последний раз редактировалось Аватар; 19.02.2016 в 15:39.
maaxa вне форума Ответить с цитированием
Старый 19.02.2016, 15:38   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
но как сделать так чтобы автоматом все записи прошли этот цикл и записались в БД?
сделать на форме какой-либо ИНИЦИАТОР нужных действий. обычно это бывает кнопка (button).
1. цикл по записям
Код:
   DataSet.First;
   while not DataSet.eof do begin
        DataSet.Next;
   end;
2. и внутри цикла обработка ОДНОЙ текущей на данной момент записи.
  • данные текущей записи в запрос
  • отправка данных получение ответа
  • разбор ответа
  • запись результатов разбора в БД для текущей записи
не забываем очищать нужные элементы перед их повторным использованием.(THTTP, Tmemo, .....)
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 19.02.2016 в 15:41.
evg_m на форуме Ответить с цитированием
Старый 19.02.2016, 16:50   #3
maaxa
 
Регистрация: 19.02.2016
Сообщений: 3
По умолчанию

evg_m, спасибо.
maaxa вне форума Ответить с цитированием
Старый 19.02.2016, 16:51   #4
maaxa
 
Регистрация: 19.02.2016
Сообщений: 3
По умолчанию

evg_m, может поможешь, за вознаграждение, разобраться с этим делом?
maaxa вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
tasm. запись результата в .txt файл квант Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 15.12.2011 00:37
assembler.tasm. Запись результата в файл .txt квант Помощь студентам 0 15.12.2011 00:12
запись результата в файл glebcherednik Помощь студентам 5 12.12.2011 20:15
чтение и запись результата в фаил.C++ Александра89 Помощь студентам 0 25.11.2011 00:38
запись результата в файл, С++ Chaynik011091 Помощь студентам 0 02.07.2009 18:37