1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
procedure TDataModuleReferentiel.ImporterEmissairesBdXeo(
const pFileName: String; var F: Text);
var
itfPointList : IXMLPointEmissairesListType;
l_itfEmissaire : IXMLEmissaireType;
l_nbEmissaires : Integer;
l_idxEmissaires : Integer;
l_installID : Integer;
l_currIDEmissaires : Integer;
l_siteDataSet : TSQLDataSet;
l_provider : TDataSetProvider;
l_clientDS : TClientDataSet;
l_nbErrors : Integer;
begin
l_siteDataSet := TSQLDataSet.Create(self);
l_siteDataSet.SQLConnection := TEST_FBCON;
l_siteDataSet.CommandText := 'SELECT e.ID, e.ID_INSTALLATION, e.NOM, e.LABEL, e.HAUTEUR_ABSOLUE, e.HAUTEUR_RELATIVE, e.LONGITUDE, e.LATITUDE, e.ALTITUDE, e.ID_BDXEO, i.ID_BDXEO as ID_BDXEO_INSTALL FROM EMISSAIRES e left join INSTALLATION i on i.ID = e.ID_INSTALLATION';
l_provider := TDataSetProvider.Create(self);
l_provider.DataSet := l_siteDataSet;
l_provider.Name := 'ProviderSite';
l_clientDS := TClientDataSet.Create(self);
l_clientDS.ProviderName := 'ProviderSite';
l_clientDS.Open;
.....
l_clientDS.Edit;
l_clientDS.FieldByName('ID_INSTALLATION').AsInteger := l_installID; //ID_Install
l_clientDS.FieldByName('ID_BDXEO').AsInteger := l_itfEmissaire.Id; //ID selon BdXeo
l_clientDS.FieldByName('NOM').AsString := l_itfEmissaire.Name;
l_clientDS.FieldByName('LABEL').AsString := l_itfEmissaire.Label_;
l_nbErrors := l_clientDS.ApplyUpdates(0); |
Partager