Fórum Deletar Registro por Sql #13971
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...
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
Curtir tópico
+ 0
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;
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)