Fórum Vários inserts dentro da mesma transação não grava #336379

17/01/2007

0

Estou fazendo uma aplicação com Delphi 7 e SQL Server 7, uso para conexão ao Banco ADO

Estou fazendo um cadastro onde será gravado em várias tabelas, por exemplo:

Tabela Principal => Pessoa
Tabelas secundárias => Telefones
Referencia
Contas Bancárias
etc etc

Basicamente o código está da seguinte forma:

inicio uma transação: BD.BeginTrans;
Faço todas os insert, usando query´s
e no final BD.CommitTrans;

Só que está gravando somente a inserção da ultima tabela, ou da ultima query.

Alterei tudo para ClientDataSet, e também não grava, só grava se eu der um commit após cada inserção e depois beginstrans novamente.

Tentei também fazer uma importação ontem leio em um arquivo texto e gravo em uma tabela, mas a ideia era ler tudo primeiro para ver se não daria erro, depois perguntar ao usuário se tinha certeza se deseja gravar e após confirmação, dar o commit, mas utilizando query´s com comandos insert, só grava o ultimo registro e utilizando ClientDataSet não grava nada.
Será que tem haver com o ADO, pois utilizei muito esses processos com o BDE e não tive problema nenhum.


Edjborges

Edjborges

Responder

Posts

17/01/2007

Jujan

Com o ClientDataset vc está dando o comando de applyupdates(0)
experimente assim:
//Inicio das inserções
Cliendataset.append

ClientDataset.post

//Fim de todas as inserções
ClientDataset.applyupdates(0)
apara cada ClientaDataset que vc usar vc terá que aplicar o applyupdates


Responder

Gostei + 0

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

Aceitar