Fórum deletar da tabela via parametros #332263
29/10/2006
0
o relacionamento entre os componentes dos meus aplicativos basicamente é assim:
1. camada servidor de aplicação
- TSQLQuery ( select * from NBR10004_2004_SUBS where ID = :PID )
- TDataSetProvider
- TSqlConnection
2. Camada cliente
- TSoapConnection
- TClientDataSet (apontando para o SoapConnection e o dataSetProvider no servidor de aplicação, e dando um ´Fetch Params´)
- TDataSource
bom, meu código para inserir e salvar cia parametros funciona tranquilamente, porem o meu código para excluir um determinado registro me acusa o erro: ´clientDataSet not in Insert or Edit mode´
vou postar aqui em sequencia o código que uso para incluir, salvar e excluir (que está me retornando o erro). Quem puder me dar uma luz, fico grato..
//INCLUINDO UM REGISTRO
procedure TCadRSubs.insere(sender: TObject); begin DM.Soapconnection.Open; try DM.ClientDataSet.Close; DM.ClientDataSet.Params[0].AsInteger := -1; DM.ClientDataSet.Open; DM.ClientDataSet.Insert; finally DM.Soapconnection.Close; end; end; procedure TCadRSubs.NovoExecute(Sender: TObject); begin insere(nil); end;
// SALVANDO UM REGISTRO
procedure TCadRSubs.SalvarExecute(Sender: TObject); begin DM.ClientDataSet.Post; DM.ClientDataSet.ApplyUpdates(0); end;
//EXCLUINDO O REGISTRO SELECIONADO
procedure TCadRSubs.exclui(sender: TObject); begin DM.Soapconnection.Open; try DM.ClientDataSet.Close; DM.ClientDataSet.Params[0].AsInteger := DM.ClientDataSet_ID.AsInteger; DM.ClientDataSet.Open; DM.ClientDataSet.delete; DM.ClientDataSet.Post; DM.ClientDataSet.ApplyUpdates(0); finally DM.Soapconnection.Close; end; end; procedure TCadRSubs.ExcluirExecute(Sender: TObject); begin exclui(nil); end;
Abraços a todos!
Mahdak
Curtir tópico
+ 0Posts
29/10/2006
Martins
que tal vc tentar assim:
procedure TCadRSubs.exclui(sender: TObject); begin DM.Soapconnection.Open; try DM.ClientDataSet.Close; DM.ClientDataSet.Params[0].AsInteger := DM.ClientDataSet_ID.AsInteger; DM.ClientDataSet.Open; DM.ClientDataSet.delete; DM.ClientDataSet.ApplyUpdates(0); finally DM.Soapconnection.Close; end; end; procedure TCadRSubs.ExcluirExecute(Sender: TObject); begin exclui(nil); end;
Teste e depois diga qual foi o resultado.
Boa sorte :D
Gostei + 0
29/10/2006
Mahdak
abraços!
Gostei + 0
29/10/2006
Martins
Nobre colega [b:53fec68454]mahdak[/b:53fec68454] é sempre um enorme prazer ajudar os colegas deste forum, aprendemos muito aqui, sempre q for possível conte conosco.
Boa sorte!
Gostei + 0
29/10/2006
Mahdak
abraços!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)