Fórum salvar com dbedit #190187

22/10/2003

0

Alguém sabe como faço pra salvar as alterações no banco feitas no dbedit sem precisar sair dele primeiro..?


Brunoroot

Brunoroot

Responder

Posts

22/10/2003

Info.wtomfs

Como assim:??? têm como explicar mais detalhadamente. Pq o dbedit se estiver ligado direto na tabela é só digitar o nome da tabela, ponto + post, depois de ter dado um edit.
não entendi o lance de precisar sair...!


Responder

Gostei + 0

22/10/2003

Brunoroot

é o seguinte:
entrei no dbedit...
digitei por exemplo 5
ai qdo eu teclar enter vou capturar esse evento com onmousedown... e quero que por exemplo: simplesmente mostrar com um showmessage o valor atual do dbedit... sei laá algo assim...
só o q acontece é q dbedit naum grava o valor digitado enquanto eu naum sair dele... se eu fizer isto que estou dizendo ele vai mostrar o valor antes de eu ter digitado 5

naum sei se deu pra entender...


Responder

Gostei + 0

22/10/2003

Info.wtomfs

Ola Bruno...

Que eu saiba a qualquer momento desde que o dbedit esteja lincado à uma tabela agente consegui capturar o valor digitado no componente...

Sei lá o que pode estar acontecendo ai. Mas tente fazer o seguinte:

Vc disse que queria pegar o texto do dbedit qdo for pressionado a tecla enter né então no evento onKeypress do Dbedit faça...

If Key = #13 then
ShowMessage(Dbedit1.Text);

Isso vai fazer com que o texto digitado apareça em uma mensagem ok...
Qualquer coisa retorne a Mensagem e diga se deu certo...

Espero ter ajudado vc!!!


Responder

Gostei + 0

22/10/2003

Brunoroot

como eu disse acima isso naum da certo... só vou conseguir ver a alteração qdo eu sair do dbedit...


Responder

Gostei + 0

22/10/2003

Inguinorante

Cara, tenta o seguinte:

No evento KeyDown desse DBEdit faça

begin
if Key = VK_RETURN then begin
Tabela.Post;
ShowMessage(TabelaCampo.asString);
end;
end;

Assim, voce pega o conteúdo do BDEdit, mas que na verdade está no campo da tabela(dado que acabou de ser gravado com o post) sem precisar sair do DBEdit. Tenta aí! Talvez funcione.


Responder

Gostei + 0

22/10/2003

Rômulo Barros

Também estou com o mesmo problema. vamos supor que eu tenha 5 dbedits no meu formulário de cadastro. então, no evento BeforePost do ClientDataset chamo a seguinte função:

Function VerificaCamposEmBranco : Boolean;
Var
Cont : Integer;
Begin
For cont :=0 To DataSource.DataSet.FieldsCount -1 Do
Begin
If(DataSource.DataSet.Fields[cont].requeired)Then
If(DataSource.DataSet.Field[Cont].isNull Or(TrimLeft(TrimRight(DataSource.DataSet.Fields[Cont]))=´´))Then
begin
Showmessage(´Preencha o campo ´´+DataSource.DataSet.Fields[cont].DisplayLable);
result := true;
break;
end;
End;
End;

// OU SEJA, EU FAÇO UM LOOP EM TODOS OS FIELDS DO MEU DATASET E NAQUELES QUE SÃO REQUERIDOS E NÃO FORAM PREENCHIDOS SERÃO RETORNADOS EM FORMA DE UMA MENSAGEM, AVISANDO O OCORRIDO AO USUÁRIO. vAMOS SUPOR QUE EU PREENCHI OS TODOS OS 5 EDITS E DECHEI O FOCUS NO ÚLTIMO EDIT REQUERIDO. ENTÃO, O SISTEMA RETORNARÁ O MEU ERRO PARA O ÚLTIMO EDIT, OU SEJA, ELE NÃO RECONHECE O CONTEÚDO DESTE ÚLTIMO EDIT. ENTÃO, PARA EVITAR ISSO, SEMPRE TENHO QUE CRIAR UM CAMPO NAO REQUERIDO E, ANTES DE DÁ UM POST, EU PASSO O FOCUS PARA ESSE CAMPO NÃO REQUERIDO, EVITANDO ASSIM O ERRO... O BRUNO TEM RAZÃO, EU TB ESTOU COM O MESMO PROBLEMA...

Ent


Responder

Gostei + 0

13/05/2014

Glayson Silva

Tenho o mesmo problema pessoal, se altero um dando no dbedit e mando dar um post sem sair do dbedit simplismente não grava os novos dados fica apenas os dados antigos.
Responder

Gostei + 0

13/05/2014

Glayson Silva

Tenho o mesmo problema pessoal, se altero um dando no dbedit e mando dar um post sem sair do dbedit simplismente não grava os novos dados fica apenas os dados antigos.
Responder

Gostei + 0

27/05/2014

Nelson Santos

ganhe dinheiro com softwares 3D em Delphi 7
http://www.3dsistemas.com.br
Responder

Gostei + 0

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

Aceitar