Qual a diferença entre os dados da query que a variavel pego
Tem alguma diferença entre estes dois if´s aqui?
[color=red:46966e8c81]//LPedidoR := TPedido_Reservar.Create(fr_FmGradePedido.qrySelecionado[´num_pedido´]);[/color:46966e8c81]
[color=blue:46966e8c81]LPedidoR := TPedido_Reservar.Create(fr_FmGradePedido.qrySelecionado.FieldByName(´num_pedido´).AsInteger);[/color:46966e8c81]
A que esta em vermelho me trava o sistema
A que esta em azul funciona.
Por isso gostaria de saber se existe diferença entre uma e outra, se o que ela me traz para variavel é os mesmos dados.
[color=red:46966e8c81]//LPedidoR := TPedido_Reservar.Create(fr_FmGradePedido.qrySelecionado[´num_pedido´]);[/color:46966e8c81]
[color=blue:46966e8c81]LPedidoR := TPedido_Reservar.Create(fr_FmGradePedido.qrySelecionado.FieldByName(´num_pedido´).AsInteger);[/color:46966e8c81]
A que esta em vermelho me trava o sistema
A que esta em azul funciona.
Por isso gostaria de saber se existe diferença entre uma e outra, se o que ela me traz para variavel é os mesmos dados.
Adriano_servitec
Curtidas 0
Respostas
Catunda
28/05/2008
Na linha em vermelho, se ´num_pedido´ for nula ou vazia dará um erro de incompatibilidade.
Na linha em azul, ao utilizar o ´.AsInteger´ o valor será sempre convertido para um inteiro. Caso esteja nulo ou vazia vem como 0(zero).
Resumindo: a utilização das definições asinteger, asstring convertem um valor nulo ou vazio para o semelhante mais próximo.
Na linha em azul, ao utilizar o ´.AsInteger´ o valor será sempre convertido para um inteiro. Caso esteja nulo ou vazia vem como 0(zero).
Resumindo: a utilização das definições asinteger, asstring convertem um valor nulo ou vazio para o semelhante mais próximo.
GOSTEI 0
Adriano_servitec
28/05/2008
Na linha em vermelho, se ´num_pedido´ for nula ou vazia dará um erro de incompatibilidade.
Na linha em azul, ao utilizar o ´.AsInteger´ o valor será sempre convertido para um inteiro. Caso esteja nulo ou vazia vem como 0(zero).
Resumindo: a utilização das definições asinteger, asstring convertem um valor nulo ou vazio para o semelhante mais próximo.
Obrigado pela resposta amigo, vi aqui quando debugo que a linha em vermelho esta travando o sistema, a que esta em azul esta me trazendo um valor diferenteagora assim
[color=green:665b09c725]LPedidoR := TPedido_Reservar.Create(fr_FmGradePedido.qrySelecionado.FieldByName(´num_pedido´).Value);[/color:665b09c725]
a variavel pega o valor certo, sabe me dizer o porque?
GOSTEI 0
Eniorm
28/05/2008
o campo num_pedido na sua tabela foi definido como inteiro ?
GOSTEI 0
Adriano_servitec
28/05/2008
[quote:ca286df466=´Enio Marconcini´]o campo num_pedido na sua tabela foi definido como inteiro ?[/quote:ca286df466]Não é um campo tipo numeric 12,0
GOSTEI 0
Paulo_amorim
28/05/2008
Olá
Se eu ainda me lembro, pegar como Value é um tipo genérico, que consome mais recursos.
Vale a pena um F1 no Value pra ver no Help o seu comportamento.
Espero que ajude
Até+
Se eu ainda me lembro, pegar como Value é um tipo genérico, que consome mais recursos.
Vale a pena um F1 no Value pra ver no Help o seu comportamento.
Espero que ajude
Até+
GOSTEI 0