| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Ter Out 12, 2010 6:16 pm Assunto: Variavel não esta recebendo valor do campo? |
|
|
Pessoal estou tentando fazer com que a variavel receba o valor do campo, mais não esta dando certo... Vejam o codigo
| Código: | procedure Tfrmcadordserv.TabPrecoCfeTipoClie;
var
qryTemp: TZQuery;
sTipoServ: String;
cPercServ, cVlrMotoboy: Real;
begin
qryTemp := TZQuery.Create(nil);
try
with qryTemp do
begin
if condutor.KeyValue <> null then
begin
Connection := dm.connection;
Close;
SQL.Clear;
SQL.Add(' select TIPOSERV, PERCSERV, VLRMOTOBOY ');
SQL.Add(' from motoboy where idmotoboy = :iBusca ');
ParamByName('iBusca').AsInteger := condutor.KeyValue;
open;
if not IsEmpty then //Se não estiver vazio
begin
sTipoServ := qryTemp.FieldByName('TIPOSERV').AsString;
if Trim(sTipoServ) <> EmptyStr then
begin
cPercServ := qryTemp.FieldByName('PERCSERV').AsCurrency;
cVlrMotoboy := qryTemp.FieldByName('VLRMOTOBOY').AsCurrency;
end;
end;
end;
end;
finally
_ChamaFrm.Free;
qryTemp.Free;
end;
end; |
O problema esta aqui
| Código: | cPercServ := qryTemp.FieldByName('PERCSERV').AsCurrency;
cVlrMotoboy := qryTemp.FieldByName('VLRMOTOBOY').AsCurrency; |
Ja debuguei e o valor aparece no campo
qryTemp.FieldByName('PERCSERV').AsCurrency;
Existe valor
Mais não passa para a variavel cPercServ que continua com valor zero.
Achei que poderia estar dando problema no with ai resolvi colocar o nome do componente dataset com o fieldbyname...
Mais mesmo assim não resolveu.
Obs: Se tiver end, begin ou nomes não relacionados no bloco acima é pq retirei blocos que não se faz necessario neste problema. _________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Ter Out 12, 2010 6:42 pm Assunto: |
|
|
Pessoal, existe alguma lógica para isso?
Po exemplo, se eu colocar este codigo aqui no bloco
| Código: |
with qryTemp do
begin
if condutor.KeyValue <> null then
begin
Connection := dm.connection;
Close;
SQL.Clear;
SQL.Add(' select TIPOSERV, PERCSERV, VLRMOTOBOY ');
SQL.Add(' from motoboy where idmotoboy = :iBusca ');
ParamByName('iBusca').AsInteger := condutor.KeyValue;
open;
if not IsEmpty then //Se não estiver vazio
begin
sTipoServ := qryTemp.FieldByName('TIPOSERV').AsString;
if Trim(sTipoServ) <EmptyStr> 0 then
ShowMessage('Tem valor '+ CurrToStr(cPercServ) + CurrToStr(qryTemp.FieldByName('PERCSERV').AsCurrency) )
else
ShowMessage('O valor é '+ CurrToStr(cPercServ) + CurrToStr(qryTemp.FieldByName('PERCSERV').AsCurrency) );
end;
end;
end; |
E colocar o break point aqui
sTipoServ := qryTemp.FieldByName('TIPOSERV').AsString;
E começar a debugar, quando sai da linha
cPercServ := qryTemp.FieldByName('PERCSERV').AsCurrency;
Vejo que passa o valor para a variavel
Agora se retiro estas linhas do bloco
| Código: | if cPercServ > 0 then
ShowMessage('Tem valor '+ CurrToStr(cPercServ) + CurrToStr(qryTemp.FieldByName('PERCSERV').AsCurrency) )
else
ShowMessage('O valor é '+ CurrToStr(cPercServ) + CurrToStr(qryTemp.FieldByName('PERCSERV').AsCurrency) ); |
E faço o mesmo processo de debugar, ai ja não passa o falor do campo para a variavel.
Então a pergumta é: A variavel só recebe o valor se a mesma variavel atribuir depois para outro local? Ou seja se eu não atribuir nada a esta variavel então ela não recebe o valor do campo? Esta correto isso?
Pois ainda não passei para lugar algum o valor da variavel... Pq estou criando agora este bloco. _________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
| Voltar ao Topo |
|
 |
NalDinHuU Colaborador


Registrado: Segunda-Feira, 26 de Julho de 2010 Mensagens: 1294 Localização: João Pessoa/PB
|
Enviada: Qua Out 13, 2010 1:58 pm Assunto: |
|
|
Ja tentou usar o Fields ?
| Código: |
cPercServ := qryTemp.Fields[NumeroDoCampoNaTabela].AsCurrency;
|
_________________ Try
Topic.Resolve;
Finally
Topic.Caption := Topic.Caption + '[RESOLVIDO]'; |
|
| Voltar ao Topo |
|
 |
DonOctavioDelFlores Colaborador

Registrado: Quarta-Feira, 12 de Setembro de 2007 Mensagens: 2630 Localização: Pra lá de Bagda
|
Enviada: Qua Out 13, 2010 5:07 pm Assunto: |
|
|
| adriano_servitec escreveu: |
Então a pergumta é: A variavel só recebe o valor se a mesma variavel atribuir depois para outro local? Ou seja se eu não atribuir nada a esta variavel então ela não recebe o valor do campo? Esta correto isso?
Pois ainda não passei para lugar algum o valor da variavel... Pq estou criando agora este bloco. |
é isso mesmo. O compilador nao vai deixar uma variavel inutil na memoria. Caso ela seja util, ai sim, passa a funcionar. _________________ “The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Qua Out 13, 2010 5:41 pm Assunto: |
|
|
| DonOctavioDelFlores escreveu: | | adriano_servitec escreveu: |
Então a pergumta é: A variavel só recebe o valor se a mesma variavel atribuir depois para outro local? Ou seja se eu não atribuir nada a esta variavel então ela não recebe o valor do campo? Esta correto isso?
Pois ainda não passei para lugar algum o valor da variavel... Pq estou criando agora este bloco. |
é isso mesmo. O compilador nao vai deixar uma variavel inutil na memoria. Caso ela seja util, ai sim, passa a funcionar. | Imaginei que seria isso mesmo amigo.
Valeu pessoal. Obrigado pela ajuda. _________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
| Voltar ao Topo |
|
 |
gilsonnrodrigues Moderador

Registrado: Quinta-Feira, 14 de Abril de 2005 Mensagens: 9009 Localização: Governador Valadares-MG
|
Enviada: Qua Out 13, 2010 7:35 pm Assunto: |
|
|
tava nas warnings
| Citação: | | assigned and not used. |
|
|
| Voltar ao Topo |
|
 |
|