Problema ao Selecionar um registro no DBGrid para excluir
Ola! Bom Dia a Todos deste Fórum.
Bom meu problema poderá ser bem simples pra muitos, mas pra mim ta gerando duvidas.
o caso é o seguinte: tenho um formulário de cadastro de funcionário, com todos os campos preenchidos corretamente em um "Edit.text", e logo abaixo coloquei um DBGrid onde mostra os campos preenchidos no fomulário, para que ao clicar em uma linha do DBGrid ela seja selecionada e eu possa deletar este registro.
no modulo o componente Query ta configurado desta forma:
select * from funcionarios order by id desc
onde é mostrado os novos registro em ordem decrescente. mas quando clico em uma linha no DBGrid para excluir, a exclusão é feita do primeiro registro e não o que eu selecionei, já mudei varias vezes a linha de comando na Query mas não tive exito.
Poderiam me ajudar de como seria o correto para que a linha no DBGrid que for selecionada seja a excluída?
Bom meu problema poderá ser bem simples pra muitos, mas pra mim ta gerando duvidas.
o caso é o seguinte: tenho um formulário de cadastro de funcionário, com todos os campos preenchidos corretamente em um "Edit.text", e logo abaixo coloquei um DBGrid onde mostra os campos preenchidos no fomulário, para que ao clicar em uma linha do DBGrid ela seja selecionada e eu possa deletar este registro.
no modulo o componente Query ta configurado desta forma:
select * from funcionarios order by id desc
onde é mostrado os novos registro em ordem decrescente. mas quando clico em uma linha no DBGrid para excluir, a exclusão é feita do primeiro registro e não o que eu selecionei, já mudei varias vezes a linha de comando na Query mas não tive exito.
Poderiam me ajudar de como seria o correto para que a linha no DBGrid que for selecionada seja a excluída?
José Soares
Curtidas 0
Respostas
Anderson Gonçalves
31/05/2019
Ola! Bom Dia a Todos deste Fórum.
Bom meu problema poderá ser bem simples pra muitos, mas pra mim ta gerando duvidas.
o caso é o seguinte: tenho um formulário de cadastro de funcionário, com todos os campos preenchidos corretamente em um "Edit.text", e logo abaixo coloquei um DBGrid onde mostra os campos preenchidos no fomulário, para que ao clicar em uma linha do DBGrid ela seja selecionada e eu possa deletar este registro.
no modulo o componente Query ta configurado desta forma:
select * from funcionarios order by id desc
onde é mostrado os novos registro em ordem decrescente. mas quando clico em uma linha no DBGrid para excluir, a exclusão é feita do primeiro registro e não o que eu selecionei, já mudei varias vezes a linha de comando na Query mas não tive exito.
Poderiam me ajudar de como seria o correto para que a linha no DBGrid que for selecionada seja a excluída?
Bom meu problema poderá ser bem simples pra muitos, mas pra mim ta gerando duvidas.
o caso é o seguinte: tenho um formulário de cadastro de funcionário, com todos os campos preenchidos corretamente em um "Edit.text", e logo abaixo coloquei um DBGrid onde mostra os campos preenchidos no fomulário, para que ao clicar em uma linha do DBGrid ela seja selecionada e eu possa deletar este registro.
no modulo o componente Query ta configurado desta forma:
select * from funcionarios order by id desc
onde é mostrado os novos registro em ordem decrescente. mas quando clico em uma linha no DBGrid para excluir, a exclusão é feita do primeiro registro e não o que eu selecionei, já mudei varias vezes a linha de comando na Query mas não tive exito.
Poderiam me ajudar de como seria o correto para que a linha no DBGrid que for selecionada seja a excluída?
José você não citou o código usado para excluir.
Deduzindo que você usa a paleta ADO.
Digamos que a QueryExcluir seja o nome da sua Query usada para excluir registros.
E que a QueryConsulta seja a query que está gerando os registro do DbGrid.
Tenta assim para excluir.
no evento On Click do seu botão de exclusão:
// -- Verifique se existem registros para serem excluídos.
if QueryConsulta.RecordCount = 0 then
begin
ShowMessage(''Nenhum registro encontrado para executar a operação solicitada!'');
Exit;
end
else
begin
With QueryExcluir do
begin
close;
sql.clear;
sql.add(''delete from TABELA'');
sql.add(''Where ChavePrimária = :Parametro'');
Parameters.ParamByName(''Parametro'').Value := QueryConsulta.FieldByName(''ChavePrimaria'').asInteger;
ExecSQL;
SpeedButton1Click(sender); // -- Executar o botão de consulta para atualizar a sua lista de registros do DBGrid.
ShowMessage(''Exclusão feita com sucesso!'');
end;
end;
Espero ter ajudado.
Qualquer coisa me chama no email: anderson.workinfo@gmail.com
GOSTEI 0