Erro: Cannot perform this operation on a closed dataset
06/09/2012
0
Para efetuar o delete de um registro eu utilizava o seguinte:
FRM_DM.IB_SAIDA_FUNC.Delete; FRM_DM.IBTransaction1.CommitRetaining;
Agora eu implementei uma [b]query[/b].Para deletar faço o seguinte:
FRM_DM.query1.Close; FRM_DM.query1.Sql.Clear; FRM_DM.query1.Sql.Add('Delete from MATERIAIS_SAIDA'); FRM_DM.query1.Sql.Add('where DESCRIO =:descricao'); FRM_DM.query1.ParamByName('descricao').AsString := FRM_DM.IB_ESTOQUEDESCRIO.Text; FRM_DM.query1.execsql;
Normal né! Só que quando executo ele exclui o registro, no entanto apresenta o erro:
[b]Cannot perform this operation on a closed dataset[/b]
Será que alguém poderia me ajudar?
Fernando Souza
Post mais votado
19/09/2012
Pedimos que avise para que o tópico possa ser encerrado.
Joel Rodrigues
Mais Posts
06/09/2012
Joel Rodrigues
Boa sorte.
04/12/2014
Cid Maia
Boa sorte.
Estou com esse mesmo problema a dias e nao consigo resolver...vc pode me ajudar
05/12/2014
Ricardo
Se logo após o ExecSQL for feito um open na query e o erro parar e justamente porque algo está tentando acessar a query depois da operação para deletar.
02/10/2019
Guilherme
procedure Tf_cidades.FormCreate(Sender: TObject); begin inherited; f_cidades.tabela:= 'cidades'; f_cidades.campo_chave:= 'codcidade'; f_cidades.campo_pesquisa:= 'nome'; f_cidades.carregar_dados(''); end;
outro form
procedure Tf_cadpadrao.carregar_dados(p: string); begin qdados.SQL.Clear; qdados.SQL.Add('select * from ' +tabela+ ' where ' +campo_chave+ ' like ' +quotedstr('%'+p+'%')+ ' order by ' +campo_pesquisa); qdados.Open; end;
alguém dá uma luz aqui tipo uma tempestade solar pelo menos. Porque eu tenho que usar classes no meu trabalho da faculdade. Tá. Daí eu fiz a classe padrão e tô herdando todo formulário dela. Basicamente a classe padrão é inserir, alterar, excluir e fechar AH e gravar ou cancelar. Deu pra ter uma ideia?
daí eu executo o delphi, ele entra, eu executo a compilação, abre o aplicativo, eu clico pra abrir o formulário CIDADES e dá um erro. Até aí tudo bem porque acho que é do COMODO FIREWALL. Preciso dele senão o delphi não funciona. enfim
depois eu vou dar um insert pra habilitar o gravar e ele fica dizendo que não é possível em um closed dataset
eu não faço nem ideia de como depurar isso porque não ensinaram na faculdade nada de depuração.
Era só os códigos prontos e faça um formulário parecido. Daí agora tô no estágio da faculdade apanhando muito e literalmente patinando no mesmo lugar. O chefe no estágio só usa clipper e um dbf. Ele tem um esquema de compilar para x64 por meio de uma aplicação lá e daí até roda no windows 10.
O que eu faço? Tenho um mês pra terminar o aplicativo, fazer testes, validar tudo, e criar a documentação, manual do sistema e do usuário. É impossível. Só se eu já dominasse delphi, mas nãooooo. Ah meu, tô chorando aqui de desespero.
14/10/2020
Vicente Santos
15/10/2020
Emerson Nascimento
Vicente, pode passar o trecho de código onde ocorre a mensagem ?
Clique aqui para fazer login e interagir na Comunidade :)