Ir para conteúdo

POWERED BY:

Arquivado

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

Lucius Mendes

Exclusão em massa num dbgrid

Recommended Posts

Oi, Galera!Estou tentando por meio de um dbgrid, com multiselect ativado, selecionar vários registros e excluí-los, ou por meio de um botão ou de qualquer outra forma que fique melhor. Já pesquisei e com o pouco que encontrei não consegui fazê-lo. Alguém pode me dar uma luz?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quiser excluir todos os registro do grid, basta dar um while na table ou query vinculada, algo do tipo:

 

while not qry.Eof do	begin	qry.Delete;	qry.First; //É utilizado o .First para ele retornar para o início da listagem dos registros, se deixar com o .Next é gerado erro.	end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para selecionar registros, segure o Ctrl e vá marcando.

 

procedure TfrmPedido.btnApagarClick(Sender: TObject);var  i : integer;  buffer: String;begin  if DBGrid1.SelectedRows.Count>0 then  begin  buffer:='delete from pedido where';	with DBGrid1.DataSource.DataSet do	  for i:=0 to DBGrid1.SelectedRows.Count-1 do	  begin		if (i <> 0) then		  buffer:=buffer+' or';		GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));		buffer:=buffer+' codigo='+ Fields[0].AsString;	  end;  //Query.SQL.Text:=buffer;  //executa Query  end;end;

Comentei a parte da execução do SQL pra ti fazer do teu modo.

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.