Fórum Exibir consulta num EDIT #367414

29/12/2008

0

Olá Companheiros!
Estou desenvolvendo um sistema para um motel, e estou enfrentando um problema no formulário de Consumo Interno. Este formulário se resume na seleção(através de um DBLookupComboBox) do quarto que o cliente está hospedado e a seleção dos produtos que o cliente consumirá. Após o quarto for selecionado, será retornado em um campo EDIT o número da conta (que foi gerada pelo banco de dados em um outro formulário), ou seja, será necessário uma consulta. Porém não consegui retornar este número em um capo EDIT.

var conta:real;

[b:ba6e150f68]begin
with [/b:ba6e150f68]DM.QUERT [b:ba6e150f68]do[/b:ba6e150f68]
[b:ba6e150f68]begin[/b:ba6e150f68]
close;
SQL.clear;
SQL.Add(´SELECT id_conta FROM conta WHERE id_conta = :pIdConta´);
ParamByName(´pIdConta´).Value := StrToInt(DBLookupComboBox.Text);
Open;
[b:ba6e150f68]end;[/b:ba6e150f68]

conta:=DM.Query.Field[0].AsInteger;
EDIT.text:=Format(´´,[conta]);
[b:ba6e150f68]end;[/b:ba6e150f68]

Por favor... preciso de uma luz.
Desde já agradeço pela atenção!


Fabricio.ribeiro

Fabricio.ribeiro

Responder

Posts

29/12/2008

Devmedia

Olá Companheiros! Estou desenvolvendo um sistema para um motel, e estou enfrentando um problema no formulário de Consumo Interno. Este formulário se resume na seleção(através de um DBLookupComboBox) do quarto que o cliente está hospedado e a seleção dos produtos que o cliente consumirá. Após o quarto for selecionado, será retornado em um campo EDIT o número da conta (que foi gerada pelo banco de dados em um outro formulário), ou seja, será necessário uma consulta. Porém não consegui retornar este número em um capo EDIT.



Amigo fabricio.ribeiro!
Tudo bom contigo?


1ª: Como voce quer ler uma ID sendo que voce nem sabe qual é?
2ª: Porque voce resulta o valor da ID em um campo [b:6be6aff6f7]real[/b:6be6aff6f7]?
3ª: Já tentou isto?

begin
With DM.Query do
       Begin
            Close;
            SQL.Clear;
            SQL.Add(´SELECT id_conta FROM conta WHERE id_conta = :pIdConta ORDER BY id_conta DESC´);
            ParamByName(´pIdConta´).Value := StrToInt(DBLookupComboBox.Text);
            Open;
       end;

Edit.Text := DM.Query.Field[0].AsString;
end;


[b:6be6aff6f7]Observação:[/b:6be6aff6f7] Isto é muito ´porco´ mas vai te mostrar a última que foi gravada em ordem decrescente, já que voce grava deixando o BD se virar e pegar uma ID autoincremento (ela sempre vai ser crescente, voce não irá conseguir gravar a mesma ID), com isso o [b:6be6aff6f7]DM.Query.Field[0].AsString[/b:6be6aff6f7] funciona porque ele vai mostrar o que está PRIMEIRO na Query:

´SELECT id_conta FROM conta WHERE id_conta = :pIdConta ORDER BY id_conta DESC´



Eu particularmente, sempre consulto a ID que eu quero gravar no BD, se ela estiver disponível eu a gravo, se não ordeno que seja a próxima disponível. Para não bater de frente com problemas igual ao seu.


Responder

Gostei + 0

29/12/2008

Fabricio.ribeiro

Olá Lucas Ferreira!
Estou ótimo..

Realmente a variável do tipo real não era necessária.
Sobre a consulta do ID, também faço isto, porém este
caso é uma exeção, por isso que enfrentei dificuldades.

Muito Obrigado... Fiz os teste e este código está atendendo as
minhas necessidades.

Você tem algum material que dar um conceito sobre propriedades
e eventos de alguns componentes de Banco de Dados?
Tenho algumas dúvidas em relação á alguma propriedades.

Abraços!


Responder

Gostei + 0

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

Aceitar