Exibir consulta num EDIT

Delphi

29/12/2008

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

Curtidas 0

Respostas

Devmedia

Devmedia

29/12/2008

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.


GOSTEI 0
Fabricio.ribeiro

Fabricio.ribeiro

29/12/2008

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!


GOSTEI 0
POSTAR