TADODATASET X SQL Server

Delphi

06/08/2009

Prezados.

Fiz um SQL com um left join, o TADODataset esta excluindo o registro da chave estrangeira, não tem foreign key ou trigger no SQL Server, eu fazia isto antes no IBDATASet /Firebird a diferença era que eu construia o Update, delete.. Aqui só faço o Select. Desabilitei o ProviderFlags do campo descrição da tabela estrangeira, mas não funcionou.

Acho que o TADODATAset esta gerando um delete para cada tabela, um para tabela de usuário e outro para tabela de setores(FK)

se alguém puder ajudar, desde já agradeço

Flávio


Frcjf

Frcjf

Curtidas 0

Respostas

Elip2008

Elip2008

06/08/2009

tenta criar uma query automaticamente, pq ele vai tentar apagar a linha toda, ateh a q está com os dados master mesmo q vc não tenha feito o master detail o meu fik mais ow menos assim, declaro a var qry: TAdoQuery; e faço assim:

if not SeuAdoDataSet.isEmpty then
begin
if MessageDlg(´Deseja mesmo excluir o registro selecionado?´, mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
try
qry := TADOQuery.Create(Self);
qry.Connection := minhaConexao;
qry.Close;
qry.SQL.Clear;
qry.SQL.Add(´delete from tabela_filha where id=´+IntToStr(SeuAdoDataSetid.AsInteger));//coloca o campo ID do seu adodataset;
qry.ExecSql;
ShowMessage(´Registro excluído com sucesso!´);
finally
FreeAndNil(qry);
end;
end else
begin
Abort;
end;
end else
begin
ShowMessage(´Por favor, verifique o parâmetro da pesquisa.´);
end;

Abs.


GOSTEI 0
POSTAR