Erro convertendo (null) para tipo (string): ao fechar query

Delphi

28/11/2003

Quando dou o comando Query2.Close, aparece o seguinte erro:


Como posso fazer para identificar qual campo esta gerando esse erro, é possivel solucioná-lo?


Sparch

Sparch

Curtidas 0

Respostas

Hleorabelo

Hleorabelo

28/11/2003

Esse erro geralmente ocorre qdo vc estah tentando jogar o valor de um campo do banco de dados em uma variável do tipo String e esse valor eh nulo. Então a solução eh: onde for fazer essa atribuição de variável colocar um cast do tipo varToStr.
Vou dar um exemplo:

var
nome: String;
.
.
.
nome:= varToStr(DM.tblCliente.fieldValues[´NOME´]);

Faça isso, ao invés de somente

nome:= DM.tblCliente.fieldValues[´NOME´];

Espero ter ajudado, abraços

Hugo Leonardo :D


GOSTEI 0
Sparch

Sparch

28/11/2003

Hugo, obrigado pela atenção...
Eu coloquei VarToStr() em todas as minhas chamadas que faziam referencia do tipo Query2.FieldValues[´temp´], mas ainda continuo recebendo erro..
Query2 esta com RequestLive setado para False, pois essa query não é para inserir nem para atualizar dados, somente para vizualizar o resultado de um SELECT, e quando fecho a query, esse erro ocorre


GOSTEI 0
Rafael Heise

Rafael Heise

28/11/2003

Verifique se você não tem código no AfterClose... ou no BeforeClose...
talvez tenha alguma coisa e você não viu...


GOSTEI 0
Sparch

Sparch

28/11/2003

:lol:
Descobri como contornar o erro...
No evendo OnEnter do Edit2 que eh o responsavel por fechar a tabela eu fiz a seguinte condicao para prosseguir:

if (Query2.FieldValues[´temp´] <> NULL) then
begin
...
end;


Muito obrigado pelas dicas piazada!! :wink:


GOSTEI 0
POSTAR