Deletar Registro por Sql

13/01/2010

0

ola galera...bom tenho uma consulta exibida no dbgrid e gostaria de deletar um registro através do sql...gostaria que quando o registro tivesse selecionado do dbgrid e clicasse no botao excluir o registro fosse deletado.tenho o seguinte codigo....
dm.cdsfor.Close;
dm.cdsfor.CommandText:='delete from FORNECEDOR where codigo=:codigo';
dm.cdsfor.Params[0].AsInteger:=DBGrid1.Fields[0].AsInteger;
dm.cdsfor.Execute;

da a seguinte mensagem de erro...."access violation at address 004d7b40 in module.... o que poderia estar errado? por favor me ajudem...
Thiago Silva

Thiago Silva

Responder

Posts

20/01/2010

Paulo Freire

1º veja se seu DataSetProvider esta com a propriedade AlowCommandText como true, para aceitar comandos SQL.

Ou então faça uma queryja com a instrução SQL de delete e chame-a

  if MessageDlg('Confirma a Exclusão do Crachá de ' + DBGrid2.Fields[1].AsString + ' ??? ',
              mtConfirmation,[mbYes, mbNo],0)= mrYes then

  with DM.MinhaQuery_ExcluiCracha do
  begin
    Close;
    Parameters.ParamByName('xCodigo').Value := DBGrid2.Fields[0].AsInteger;
    ExecSQL

  end;



  end;
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar