QUOTE
Do jeito que você sabe fazer como eu posso fazer como o botão editar?
Iniciante Programador você está fazendo de uma simples execução de editar uma coisa muito complicada sacou??
vou te mostrar um jeito mais simples ...
supondo que:
- utilize um DataModule(nomeado dm)
- utilize uma Query(nomeada ClientesQuery), dentro do Datamodule(dm), como Dataset.
- você utilize um DBGrid e nele selecione a linha que deseja editar.
- após encontrada a linha, é clicado em um botão "Editar".
- a tabela a ser editada é "CLIENTES" com os campos "idcliente, nome, idade".
crie um novo form e nomeie como EditarCliForm, e insira nele estes componentes:
- paleta DataControls, 3 DBEdits
- paleta DataAccess, 1 DataSource
- 1 button "Confirma", 1 button "Cancela"
primeiramente, aperte Alt+F11 e de 2 cliques no form que se encontram seus componentes de relação com banco de dados (Datasets, Database etc...), então relacione no componente Datasource a propriedade Dataset com ClientesQuery
relacione todos os 3 DBEdits com o Datasource na propriedade Datasource, e na propriedade DataField:
-DBEdit1=IDCLIENTE
-DBEdit2=NOME
-DBEdit3=IDADE
no button Confirma insira este código:
dm.ClientesQuery.applyupdates; //executa applyupdates (aplicar alterações)
close;no button Cancela insira apenas
close //ao fechar o software automaticamente cancela as alterações no evento OnClose (Ao Fechar);
no evento OnClose:
dm.ClientesQuery.cancel; //cancela as alterações ao fechar, obs: só vai cancelar o que não tiver sido aplicado em (applyupdates)agora vá ao seu form que lista os clientes (apenas suposição), e no seu botão Editar insira o seguinte código:
CODE
dm.Clientesquery.Edit;
EditarCliForm := TEditarCliForm.Create(nil);
EditarCliForm.DBEdit1.enabled:=false; //supondo que o campo IDCLIENTE não possa ser mudado.
EditarCliForm.ShowModal;
EditarCliForm.Free;
e tá feito!!
você também pode usar o EditarCliForm para Cadastrar, é so tirar a linha que desativa o DBEdit1 e trocar Edit por Append
assim (logicamente no botão Cadastrar):
CODE
dm.Clientesquery.Append;
EditarCliForm := TEditarCliForm.Create(nil);
EditarCliForm.ShowModal;
EditarCliForm.Free;
fechou!
abraços