Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Eduardo Estudando

[Resolvido] Updade em Uma Consunta no DBgrid

Recommended Posts

Pessoal,

Estou iniciando no estudo do delphi, gostaria de receber ajuda no seguinte:

Estou usando delphi 7 + Interbase

 

Tenho DBgrid que esta trazendo a consulta de uma tabela, através de uma query.

Quero selecinar um registro no grid, clicar em um botão, e os três campos deste registro sejas enviados

para Três edit. Para que eu possa efetuar alterações.

Depois clico em outro botão para fazer update no registro selecinado no grid.

 

Como faço para levar os campos do registro para os Edit's ?

Como faço para fazer o update no registro selecinoado?

 

Desde já agradeço a atenção de todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eduardo seria mais fácil, você trabalhar com TDBEdits q são utilizados para trabalhar com (INCLUSÃO E EDIÇÃO) de Registros.

 

E outro conselho, eu uso TQuerys ao invés de TTables, assim você pode consultar, Inserir, editar os campos trabalhando apenas com (um TQuery).

 

Pense nisso facilita muito o trabalho.

 

Qualquer dúvida posta aí ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

wlf, TDBEdits podem facilitar, mas não quer dizer que são "a melhor forma" de se trabalhar com dados que usem dbgrids... eu particularmente prefiro não usá-los, vai do gosto de cada um... agora, dê uma lida neste tópico que acho que vai lhe ajudar com seu problema.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

wlf, TDBEdits podem facilitar, mas não quer dizer que são "a melhor forma" de se trabalhar com dados que usem dbgrids... eu particularmente prefiro não usá-los, vai do gosto de cada um... agora, dê uma lida neste tópico que acho que vai lhe ajudar com seu problema.

 

[]'s

 

Caro Chrnos, agradeço a atenção.

Eu gostaria de não usar os TDBEdit's,

Tentei usar a linha de comando que existe no topico que você me passou:

"(edit1.text := IntToStr(querytesteCODIGO.Asinteger)), esse comnado você pode colocar o evento CLICK ou DBLCLIK do dgbrid em questão".

Mas não funcionou.

 

Tenho um DBGRID ligado a um DATASOUSE ligado a uma QUERY(Select usuario,senha,nivel from dataus) que esta alimentando o grid.

Eu quero selecionar um registro no Dbgrid e lançar os campos para os edit's da seguinte forma:

Edit1.text recebe o campo Usuario

Edit2.text recebe o campo Senha

Edit3.text recebe o campo Nivel

Editar o conteudo dos edit's

E ao clicar em um botão, executar Update do conteúdo dos Edit's para o registro selecionado no DBgrid.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta a dica deste tópico. Ou pode tentar assim no doubleclick do TDbGrid:

 

 Edit1.text := dbgrdConsultas.DataSource.DataSet.FieldByName('ID').AsString;

Onde dbgrdConsultas seria o seu dbgrid e o ID o nome do campo que quer capturar.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Eduardo quando você utilizou o comando :

edit1.text := IntToStr(querytesteCODIGO.Asinteger);
deu algum erro? Se sim, qual?

Pois aparentemente este comando esta certo, apesar que o mais correto seria :

edit1.text := querytesteCODIGO.AsString;
E a melhor forma (na minha opinião), e a que eu uso seria é :
edit1.text := queryteste['CODIGO'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta a dica deste tópico. Ou pode tentar assim no doubleclick do TDbGrid:

 

 Edit1.text := dbgrdConsultas.DataSource.DataSet.FieldByName('ID').AsString;

Onde dbgrdConsultas seria o seu dbgrid e o ID o nome do campo que quer capturar.

 

[]'s

 

Obrigado, após a sua dica, consegui fazer como estava querendo

abaixo segue o meu fonte

Valeu Chrnos.

 

procedure TForm1.Button4Click(Sender: TObject);

begin

query1.SQL.clear;

query1.SQL.Add('select * from dataus');

query1.open;

edit1.text:=datasource1.dataset.FindField('usuario').asstring;

edit2.text:=datasource1.dataset.FindField('senha').asstring;

edit3.text:=datasource1.dataset.FindField('nivel').asstring;

END;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como faça para colocar este meu topico como Resolvido?

 

Só moderadores podem marcar o tópico como resolvido.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.