Fórum resultado de um select no panel delphi #582947

27/06/2017

0

Pessoal , Boa tarde.
Por favor, alguém pode mostrar onde estou errando ?
Tenho este select abaixo , onde o resultado quero que apareça em um panel (ou algo parecido).
Mas sempre que executo ele dá erro de QRY1: Field 'ESTADOROMANEIO' not found , sendo que este campo possui na lista do field

begin
with QRY1 do
begin
CLOSE;
sql.Clear;
sql.Text := 'select codigoromaneio,dataemissao,datamovimento from romaneio where estadoromaneio =' + '1';
open;
Pnldatas.caption :=CurrToStr(FieldByName('ESTADOROMANEIO').AsCurrency);

end;
end;
end;
end;

Quem puder me ajudar agradeço muito
Watson

Watson

Responder

Posts

27/06/2017

Natanael Ferreira

Faltou incluir este campo no select.

Teste assim:

with QRY1 do
begin
CLOSE;
sql.Clear;
sql.Text := 'select codigoromaneio,dataemissao,datamovimento,estadoromaneio from romaneio where estadoromaneio =' + '1';
open;
Pnldatas.caption :=CurrToStr(FieldByName('ESTADOROMANEIO').AsCurrency);
end;
Responder

Gostei + 0

27/06/2017

Watson

Natanael , Obrigado pelo retorno. Cara acho que estou fazendo algo errado.
O que vc me passou deu certo , mas o resultado era para ser assim, como mostra abaixo :

16024 2017-05-08 00:00:00 2017-05-08 00:00:00
16026 2017-05-08 00:00:00 2017-05-08 00:00:00
15986 2017-05-05 00:00:00 2017-05-05 00:00:00
16042 2017-06-27 00:00:00 2017-06-27 00:00:00

Só que o resultado apareceu o apenas o numero 1 .
Sabe me dizer novamente onde estou errando ?
Muito Obrigado.
Responder

Gostei + 0

27/06/2017

Igor Lisboa

Watson, creio que talvez seu erro esteja aqui:

sql.Text := 'select codigoromaneio,dataemissao,datamovimento,estadoromaneio
[b]from romaneio where estadoromaneio =' + '1'; [/b]
open;
[b]Pnldatas.caption :=CurrToStr(FieldByName('ESTADOROMANEIO').AsCurrency);[/b]


No caption, você está jogando o valor do "EstadoRomaneio", e lá em cima você setou uma condição pra buscar apenas o EstadoRomaneio = 1. Creio que para você exibir como deseja é necessário fazer da seguinte forma:

Pnldatas.caption :=  FieldByName('codigoromaneio').AsString+' '+FieldByName('dataemissao').AsString+' '+FieldByName('dataemissao').AsString;


Caso tenha erro com o AsString, é só ver o tipo do campo na sua tabela e fazer a conversão. Espero que isso dê certo e resolva sua dúvida.
Responder

Gostei + 0

27/06/2017

Natanael Ferreira

Repare nesta linha do código:

Pnldatas.caption :=CurrToStr(FieldByName('ESTADOROMANEIO').AsCurrency);

Nela você está programando para o Panel receber apenas o conteúdo do campo 'EstadoRomaneio'.

Além disso, irá aparecer apenas o registro corrente (primeiro registro).

Te aconselho a utilizar o DBGrid que para mostrar o resultado que você espera.
Responder

Gostei + 0

27/06/2017

Igor Lisboa

Me desculpe, mas acabei colocando duas vezes o campo "dataemissao", aqui está o correto.

Pnldatas.caption := FieldByName('codigoromaneio').AsString+' '+FieldByName('dataemissao').AsString+' '+FieldByName('datamovimento').AsString;
Responder

Gostei + 0

27/06/2017

Watson

Natanael/Igor , obrigado pela ajuda !
Natanael , desculpe a persistência, exatamente isso que estou querendo mostra todos os registro desse select .
No DBGRID como eu faço isso ?

Mais uma vez obrigado pela paciência.

Att
Watson
Responder

Gostei + 0

27/06/2017

Watson

Caso queiram ,posso mostrar o que estou criando , por favor me add no skype rocha325
Responder

Gostei + 0

28/06/2017

Watson

Pessoal Bom dia. Quem puder me ajudar nesta questão agradeço muito.

Obrigado.

Watson
Responder

Gostei + 0

28/06/2017

Natanael Ferreira

Natanael/Igor , obrigado pela ajuda !
Natanael , desculpe a persistência, exatamente isso que estou querendo mostra todos os registro desse select .
No DBGRID como eu faço isso ?

Mais uma vez obrigado pela paciência.

Att
Watson


Você vai precisar dos seguintes componentes:

- DBGrid;
- Query;
- Datasource;

Procedimentos:

* Use o Query(QRY) para executar a sua consulta.
* Use o Datasource para ligar ao Query através da propriedade DataSet
* Vincule a propriedade DataSource do DBGrid ao objeto DataSource;

Use o código abaixo:

with QRY1 do 
begin 
CLOSE; 
sql.Clear; sql.Text := 'select codigoromaneio,dataemissao,datamovimento,estadoromaneio from romaneio where estadoromaneio =' + '1'; open; 
end;
Responder

Gostei + 0

28/06/2017

Natanael Ferreira

Se tiver dúvidas, dê uma olhada neste tópico:

http://www.activedelphi.com.br/forum/viewtopic.php?p=18268&sid=98813f9a98d9c1a8d02f7e1920e7d2c2
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar