Fórum Pesquisa encontra registro mas retorna vazio #368588
19/02/2009
0
Olá pessoal, boa tarde
Eu to fazendo uma importação de um arquivo db, e ai eu comparo os dados da tabela com o arquivo, sendo que eu primeiro comparo o arquivo com a tabela A, se existir o registro da tabela A, e au faço o mesmo com a tabela B, e existindo o registro, eu atualizo a tabela B
sendo que quando eu faço a validação pra verficar se ele trouxe os registros com a função IsEmpty, mesmo tendo achado o registo, ele retorna vazio
abaixo esta o codigo
with DM_Importacao.Tab_Imp do
begin
Active := false;
DatabaseName:= ´C:\´;
TableName:= ´IsiObraComp.DB´;
Active:= true;
if Eof then
ShowMessage(´Não registros para importar´)
else
begin
While not eof do
begin
DM_Importacao.qry_Imp_Estruturas.close;
DM_Importacao.qry_Imp_Estruturas.Params.ParamByName(´ID´).AsInteger:= DM_Importacao.Tab_ImpComponente.AsInteger;
DM_Importacao.qry_Imp_Estruturas.Open;
if (DM_Importacao.qry_Imp_Estruturas.IsEmpty = true) then
begin
ShowMessage(inttostr(DM_Importacao.Tab_ImpComponente.AsInteger)+´Essa estrutura não pode ser cadastrada´);
end
else
begin
DM_Importacao.qry_Busca_ProgEstrutura.close;
DM_Importacao.qry_Busca_ProgEstrutura.Params[0].AsInteger:=valor;
DM_Importacao.qry_Busca_ProgEstrutura.Open;
if not(DM_Importacao.qry_Busca_ProgEstrutura.IsEmpty)then
begin
DM_Importacao.qry_Busca_ProgEstrutura.Edit;
DM_Importacao.qry_Busca_ProgEstruturaEstruturaMaterialID.Value:=DM_Importacao.Tab_ImpComponente.AsInteger;
DM_Importacao.qry_Busca_ProgEstruturaQuantidade.Value:= DM_Importacao.Tab_ImpQuantidade.AsInteger;
DM_Importacao.qry_Busca_ProgEstrutura.ApplyUpdates;
DM_Importacao.qry_Busca_ProgEstrutura.Post;
end;
end;
next;
end;
end;
end;
end;
Eu to fazendo uma importação de um arquivo db, e ai eu comparo os dados da tabela com o arquivo, sendo que eu primeiro comparo o arquivo com a tabela A, se existir o registro da tabela A, e au faço o mesmo com a tabela B, e existindo o registro, eu atualizo a tabela B
sendo que quando eu faço a validação pra verficar se ele trouxe os registros com a função IsEmpty, mesmo tendo achado o registo, ele retorna vazio
abaixo esta o codigo
with DM_Importacao.Tab_Imp do
begin
Active := false;
DatabaseName:= ´C:\´;
TableName:= ´IsiObraComp.DB´;
Active:= true;
if Eof then
ShowMessage(´Não registros para importar´)
else
begin
While not eof do
begin
DM_Importacao.qry_Imp_Estruturas.close;
DM_Importacao.qry_Imp_Estruturas.Params.ParamByName(´ID´).AsInteger:= DM_Importacao.Tab_ImpComponente.AsInteger;
DM_Importacao.qry_Imp_Estruturas.Open;
if (DM_Importacao.qry_Imp_Estruturas.IsEmpty = true) then
begin
ShowMessage(inttostr(DM_Importacao.Tab_ImpComponente.AsInteger)+´Essa estrutura não pode ser cadastrada´);
end
else
begin
DM_Importacao.qry_Busca_ProgEstrutura.close;
DM_Importacao.qry_Busca_ProgEstrutura.Params[0].AsInteger:=valor;
DM_Importacao.qry_Busca_ProgEstrutura.Open;
if not(DM_Importacao.qry_Busca_ProgEstrutura.IsEmpty)then
begin
DM_Importacao.qry_Busca_ProgEstrutura.Edit;
DM_Importacao.qry_Busca_ProgEstruturaEstruturaMaterialID.Value:=DM_Importacao.Tab_ImpComponente.AsInteger;
DM_Importacao.qry_Busca_ProgEstruturaQuantidade.Value:= DM_Importacao.Tab_ImpQuantidade.AsInteger;
DM_Importacao.qry_Busca_ProgEstrutura.ApplyUpdates;
DM_Importacao.qry_Busca_ProgEstrutura.Post;
end;
end;
next;
end;
end;
end;
end;
Rsoares
Curtir tópico
+ 0
Responder
Posts
24/02/2009
Paullsoftware
Não confie 100¬ na propriedade [b:f863eae201]IsEmpty[/b:f863eae201] mesmo passando por ela dê um showmessega ou depure seu código olhando se realmente trousse os dados, pois, já enfrentei casos semelhantes usando essa propiedade :wink:
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)