Fórum Problema com Transaçoes e UpdateSQL.. #289886

28/07/2005

0

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:
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

Marco Salles

Responder

Posts

28/07/2005

Rafael Santana

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...


Responder

Gostei + 0

28/07/2005

Marco Salles

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 


:?: :?: :?: :?:


Responder

Gostei + 0

28/07/2005

Rafael Santana

seria isso mesmo...deu certo?


Responder

Gostei + 0

29/07/2005

Marco Salles

seria isso mesmo...deu certo?


tive que fazer algumas outras pequenas alterações , mas sua ajuda foi de grande valia.. Obrigado... :P :P


Responder

Gostei + 0

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

Aceitar