Problema com Transaçoes e UpdateSQL..
Tenho no formulário uma Grid uma query , um Database , e um UpdateSQL1
Inicio uma transição com database1.StartTransaction;
Faço as alteraçoes na grid
Mas apos todas as alteraçoes dou um comando
database1.Commit;
e saio do formulário... Mas não grava as alteraçoes realizadas
Alem disso quando faço as alteraçoes e dou um Database1.Rollback; não volto ao estado anterior... Isto so acontece quando eu fecho e abro o aplicativo
Conclusão ... Não esta adiantando nada o uso de transações :cry: :cry: :cry:
Isto so acontece quando eu utilizo um Componente UpdateSQL1 associado a query.. Pois eu necessito digitar dados , apos as consultas
Sera que o meu código da UpdateSQL1 De Inserção , edição , modificação esta errado e impede o funcionamento correto das Transações
O meu código é simples e não tem neda de anormal Vejam:
Para modificar:
Para inserir:
Para deletar:
a verdade estes codigos foram gerados automaticamente pelo GerateSql do UpdateSQL1.... Eu para falar a verdade não manjo nada desse componente e to desconfiado que esses codigos estão dificultando a minha edição na query... :cry: :cry: :cry:
[b:82df0c522f]O que pode estar ocorrendo[/b:82df0c522f] :?: :?: :?: :?: :?:
Obrigado....
Inicio uma transição com database1.StartTransaction;
Faço as alteraçoes na grid
Mas apos todas as alteraçoes dou um comando
database1.Commit;
e saio do formulário... Mas não grava as alteraçoes realizadas
Alem disso quando faço as alteraçoes e dou um Database1.Rollback; não volto ao estado anterior... Isto so acontece quando eu fecho e abro o aplicativo
Conclusão ... Não esta adiantando nada o uso de transações :cry: :cry: :cry:
Isto so acontece quando eu utilizo um Componente UpdateSQL1 associado a query.. Pois eu necessito digitar dados , apos as consultas
Sera que o meu código da UpdateSQL1 De Inserção , edição , modificação esta errado e impede o funcionamento correto das Transações
O meu código é simples e não tem neda de anormal Vejam:
Para modificar:
update TabCheques set Items = :Items, Compensacao = :Compensacao, Banco = :Banco, Agencia = :Agencia, Numero_Conta = :Numero_Conta, Numero_Cheque = :Numero_Cheque, Valor = :Valor, Data = :Data, Nome_Emitente = :Nome_Emitente, Telefone = :Telefone, Observacoes = :Observacoes, Compensado = :Compensado where Items = :OLD_Items and Compensacao = :OLD_Compensacao and Banco = :OLD_Banco and Agencia = :OLD_Agencia and Numero_Conta = :OLD_Numero_Conta and Numero_Cheque = :OLD_Numero_Cheque and Valor = :OLD_Valor and Data = :OLD_Data and Nome_Emitente = :OLD_Nome_Emitente and Telefone = :OLD_Telefone and Observacoes = :OLD_Observacoes and Compensado = :OLD_Compensado
Para inserir:
insert into TabCheques (Items, Compensacao, Banco, Agencia, Numero_Conta, Numero_Cheque, Valor, Data, Nome_Emitente, Telefone, Observacoes, Compensado) values (:Items, :Compensacao, :Banco, :Agencia, :Numero_Conta, :Numero_Cheque, :Valor, :Data, :Nome_Emitente, :Telefone, :Observacoes, :Compensado)
Para deletar:
delete from TabCheques where Items = :OLD_Items and Compensacao = :OLD_Compensacao and Banco = :OLD_Banco and Agencia = :OLD_Agencia and Numero_Conta = :OLD_Numero_Conta and Numero_Cheque = :OLD_Numero_Cheque and Valor = :OLD_Valor and Data = :OLD_Data and Nome_Emitente = :OLD_Nome_Emitente and Telefone = :OLD_Telefone and Observacoes = :OLD_Observacoes and Compensado = :OLD_Compensado
a verdade estes codigos foram gerados automaticamente pelo GerateSql do UpdateSQL1.... Eu para falar a verdade não manjo nada desse componente e to desconfiado que esses codigos estão dificultando a minha edição na query... :cry: :cry: :cry:
[b:82df0c522f]O que pode estar ocorrendo[/b:82df0c522f] :?: :?: :?: :?: :?:
Obrigado....
Marco Salles
Curtidas 0
Respostas
Rafael Santana
28/07/2005
NO IBUPDATE vc deve especificar, como condição pra atualização(update) APENAS AS CHAVES PRIMÁRIAS...por isso não dá certo...vc tá especificando todos os campos...
GOSTEI 0
Marco Salles
28/07/2005
NO IBUPDATE vc deve especificar, como condição pra atualização(update) APENAS AS CHAVES PRIMÁRIAS...por isso não dá certo...vc tá especificando todos os campos...
voce ta dizendo isto
update TabCheques set Items = :Items, Compensacao = :Compensacao, Banco = :Banco, Agencia = :Agencia, Numero_Conta = :Numero_Conta, Numero_Cheque = :Numero_Cheque, Valor = :Valor, Data = :Data, Nome_Emitente = :Nome_Emitente, Telefone = :Telefone, Observacoes = :Observacoes, Compensado = :Compensado where Items = :OLD_Items and
:?: :?: :?: :?:
GOSTEI 0
Rafael Santana
28/07/2005
seria isso mesmo...deu certo?
GOSTEI 0
Marco Salles
28/07/2005
seria isso mesmo...deu certo?
tive que fazer algumas outras pequenas alterações , mas sua ajuda foi de grande valia.. Obrigado... :P :P
GOSTEI 0