Fórum resultado de um select no panel delphi #582947
27/06/2017
0
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
Curtir tópico
+ 0Posts
27/06/2017
Natanael Ferreira
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;
Gostei + 0
27/06/2017
Watson
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.
Gostei + 0
27/06/2017
Igor Lisboa
[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.
Gostei + 0
27/06/2017
Natanael Ferreira
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.
Gostei + 0
27/06/2017
Igor Lisboa
Pnldatas.caption := FieldByName('codigoromaneio').AsString+' '+FieldByName('dataemissao').AsString+' '+FieldByName('datamovimento').AsString;Gostei + 0
27/06/2017
Watson
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
Gostei + 0
27/06/2017
Watson
Gostei + 0
28/06/2017
Watson
Obrigado.
Watson
Gostei + 0
28/06/2017
Natanael Ferreira
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;
Gostei + 0
28/06/2017
Natanael Ferreira
http://www.activedelphi.com.br/forum/viewtopic.php?p=18268&sid=98813f9a98d9c1a8d02f7e1920e7d2c2
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)