Boa noite, prezados
Sou novo na área de programação, e aqui também, prazer a todos meu nome é Cleidiane estou criando um Sistema de importação de XML, porém não estou conseguindo salvar o evento da nota no banco de Dados. Está apresentando erros na Index. Segue trecho para melhor compreensão.
Query_cabecalho.SQL.Clear;
Query_cabecalho.SQL.Add('INSERT INTO CABECALHO');
Query_cabecalho.SQL.Add('(NRONFE,CHAVE_ACESSO, NATOPERACAO, EMISSAO, STATUS, EMI_NOME,');
Query_cabecalho.SQL.Add('EMI_CNPJ, EMI_END, EMI_BAI, EMI_CID, DES_NOME,');
Query_cabecalho.SQL.Add('DES_CNPJ,DES_END, DES_BAI, DES_CID, EVENTO)');
Query_cabecalho.SQL.Add('VALUES (:pEVENTO, :pNRONFE, :pCHAVE_ACESSO, :pNATOPERACAO, :pEMISSAO, :pSTATUS, :pEMI_NOME,');
Query_cabecalho.SQL.Add(':pEMI_CNPJ, :pEMI_END, :pEMI_BAI, :pEMI_CID, :pDES_NOME,');
Query_cabecalho.SQL.Add(':pDES_CNPJ,:pDES_END, :pDES_BAI, :pDES_CID, :pEVENTO)');
// REPASSANDO OS VALORES PARA OS PARÂMETROS.
Query_cabecalho.ParamByName('pNRONFE').AsInteger := nf.NotasFiscais.Items [0].NFe.Ide.nNF;
Query_Cabecalho.ParamByName('pCHAVE_ACESSO').AsString := NF.NotasFiscais.Items [0].NFe.procNFe.chNFe;
Query_cabecalho.ParamByName('pNATOPERACAO').AsString := nf.NotasFiscais.Items [0].NFe.Ide.natOP;
Query_cabecalho.ParamByName('pEMISSAO').AsDate := nf.NotasFiscais.Items [0].NFe.Ide.dEmi;
Query_cabecalho.ParamByName('pSTATUS').AsString := nf.NotasFiscais.Items [0].NFe.procNFe.xMotivo;
Query_cabecalho.ParamByName('pEMI_NOME').AsString := nf.NotasFiscais.Items [0].NFe.Emit.xNome;
Query_cabecalho.ParamByName('pEMI_CNPJ').AsString := nf.NotasFiscais.Items [0].NFe.Emit.CNPJCPF;
Query_cabecalho.ParamByName('pEMI_END').AsString := nf.NotasFiscais.Items [0].NFe.Emit.EnderEmit.xLgr;
Query_cabecalho.ParamByName('pEMI_BAI').AsString := nf.NotasFiscais.Items [0].NFe.Emit.EnderEmit.xBairro;
Query_cabecalho.ParamByName('pEMI_CID').AsString := nf.NotasFiscais.Items [0].NFe.Emit.EnderEmit.xMun;
Query_cabecalho.ParamByName('pDES_NOME').AsString := nf.NotasFiscais.Items [0].NFe.Dest.xNome;
Query_cabecalho.ParamByName('pDES_CNPJ').AsString := nf.NotasFiscais.Items [0].NFe.Dest.CNPJCPF;
Query_cabecalho.ParamByName('pDES_END').AsString := nf.NotasFiscais.Items [0].NFe.Dest.EnderDest.xLgr;
Query_cabecalho.ParamByName('pDES_BAI').AsString := nf.NotasFiscais.Items [0].NFe.Dest.EnderDest.xBairro;
Query_cabecalho.ParamByName('pDES_CID').AsString := nf.NotasFiscais.Items [0].NFe.Dest.EnderDest.xMun;
Query_Cabecalho.ParamByName('pEVENTO').Value := nf.EventoNFe.Evento.Items[0].InfEvento.cOrgao; ------ Somente está que apreenta erros quando executado o software, no IDE não apresenta nenhum erro de Sintaxe.
Query_Cabecalho.ExecSQL;
Como podem ver estou inserindo no banco por parâmetro porém somente o Evento não estou conseguindo, apresenta o seguinte erro : "List Index out of Bounds"
Se eu remover ele e as referencias dele no código , tudo funciona perfeitamente, estou usando a propriedade errada do componente ou algo do tipo, pois preciso registrar o Evento para discernir se a nota está ou não cancelada.
Desde já agradeço a todos por tudo.