Olá pessoal, tenho uma dúvida quanto ao método de retorno dos dados
pertinentes.

Vamos lá, analisem este código!

try
    Application.CreateForm(TfrmCidade, frmCidade);
    frmCidade.BtnRetorno.Visible := True;
    frmCidade.ShowModal;
    if DM.cdsLogradouro.Active then
    DtSrc.Edit;
    //Código do Logradouro
    DM.cdsLogradouroID_CIDADE.AsInteger := DM.cdsCidadeID_CIDADE.AsInteger;
    DM.cdsLogradouroNOME_CIDADE.AsString := DM.cdsCidadeNOME_CIDADE.AsString
;
    finally
      frmCidade.Release;
      frmCidade := nil;
  end;

O código acima retorna os dados da cidade para o formulario de logradouro a
partir do ID_CIDADE.

Acontece que na linha:
"DM.cdsLogradouroNOME_CIDADE.AsString := DM.cdsCidadeNOME_CIDADE.AsString;"
é gerada uma exception no momento da gravação dos dados... pois não é um
campo da tabela e sim criado por sql dessa forma.


SELECT L.ID_LOGRADOURO,
L.ID_CIDADE,
L.ENDERECO,
L.CEP,
L.BAIRRO,
C.NOME_CIDADE AS NOME_CIDADE,  <<================={{{{{{
C.ESTADO
FROM LOGRADOURO L
LEFT OUTER JOIN CIDADE C ON C.ID_CIDADE = L.ID_CIDADE
ORDER BY ID_LOGRADOURO

E tem mais.. quando me retorna os dados os campos do nome da cidade e estado
no formulario de logradouro fica em branco, pois ñ retorna os dados...
devido a exceção comentada antes!



Fica a dúvida, como trazer os dados antes de realizar a gravação dos dados e
NÃO GERAR EXCEÇÃO quando gravar os dados??



Abraços a todos!


[As partes desta mensagem que não continham texto foram removidas]

Responder a