Ir para conteúdo
Fórum Script Brasil
  • 0

Excluir Linha Do Dbgrid


Guest - marcelo -

Pergunta

Guest - marcelo -

estou usando uma dbgrid num formulario de vendas

coloco o codigo 1 ele vai me trase o produto

se eu repeti o codigo 1 ele da erro de chave primaria

quero sabe um jeito para ele não fase isso

eu tentei fase assim

cds.first

while not cds.eof do

begin

var := cdscod_produto

if var = cdscod_produto then

begin

message('codigo repetido')

end;

cds.next;

end;

o var seria uma variavel

se os codigo tão seguidos seguidos ele vê qeu são iguais

sinao ele num vê por ser uma variavel e ser apagada sempre

se alguém pode me ajuda

agradeço desde já

brigadao

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

marcelo, você tem que organizar suas idéias!

O tópico "fala" em excluir linha do DBGrid e você pergunta no texto como mostrar uma mensagem se o código já existe. :blink:

Bom. Pelo jeito você edita (digita) os campos direto no DBGrid. É isto?

O Código de que você "fala" é a chave primária? Ao menos é o que parece, já que uma nova entrada resulta em Key-violation. Este código tem que ser digitado, você não poderia utilizar um "auto-increment"?

você está utilizando componentes ClientDataSet para acessar os dados? O nome cds sugere isto.

No código que você postou, se o que você quer é verificar se o código informado já existe na tabela (cds), seria mais apropriado que você utilizasse uma query auxiliar para este fim. Supondo que seja utilizado o componente TClientDataSet, poderia ser algo como:

cdsTestaCodigo.Close;
cdsTestaCodigo.CommandText := 'SELECT cod_produto ' +
                              'FROM produto ' +
                              'WHERE cod_produto = :cod_produto';
cdsTestaCodigo.Params.ParamByName('cod_produto').AsInteger := cdscod_produto.Value;
cdsTestaCodigo.Open;
if not cdsTestaCodigo.EOF then
  ShowMessage('O codigo já existe');

Link para o comentário
Compartilhar em outros sites

  • 0

aprovitando a carona da pergunta com eu faço mesmo para excluir um item do datGrid

exemplo: datGRid ligado TableItensPedidos que como masterSouce TablePedidos

depois de lançado no DatGrid não consigo Deletar.

:unsure:

É sempre bom saber o que ocorre de verdade.

Tudo o que você vê em um DBGrid é proveniente de dataset associado ao DataSource que você ligou a ele.

A linha atualmente selecionada no DBGrid é exatamente a linha correntemente selecionada neste dataset.

Assim, se o dataset permite exclusão (não sei que componente você está utilizando), basta que você acione o método Delete deste dataset que a linha sumirá do DBGrid (às vezes é preciso um refresh/update - algo assim).

As coisas só mudam um pouquinho, se você estiver falando em multi-seleção e exclusão destes itens selecionados.

[]s

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...