Fórum Transações em IBX e Firebird #44624

02/06/2004

0

Uso Delphi 7, IBX e Firebird 1.5 e estou começando a migrar agora de Paradox para Firebird e estou agarrando um pouco com as transações, tenho um Datamodule aonde tenho o IBDataBase, um IBTransaction e um IBDataSet, aonde faço todas as ligações necessarias...
Bem... o sistema entra, pede a senha acessando o banco ( senha esta comprovada via IBQuery que esta no form_Senha.. tudo normal...)
No menu principal da aplicacao, escolho a opcao mudar senha aonde se abre um formulario que pega como parametro o nome do usuario que logou no sistema, para deixar ele trocar somente sua senha:
Ai que vem o problema...
Preencho certinho as propriedades do IBDataset e dou true sem problemas...
No active deste form estou colocando o codigo...


with DataModule.datasourceSenha do
begin
close;
SelectSql.clear;
SelectSql.add( ´Select * from Tabela´);
SelectSQL.add( ´where nome = :Nome);
ParamByname(´Nome´).AsString := UsuarioAtual;
Open;

Na hora da depuração dá a mensagem que a Transação não esta ativa...
Se no createform eu coloco IBTransaction.StartTransaction... Surge a mensagem na depuração que a transação já esta ativa... Se eu pulo o codigo acima e dou apenas SelectSQL funciona certinho... como é a maneira correta de funcionar... A transação para Seleção e para Alteração?


Supernova

Supernova

Responder

Posts

02/06/2004

Afarias

Não entendi a questão... mas quando se dá um Open em um IBQuery ou IBDataSet, caso sua transação não esteja aberta ele automaticamente abre a transação.



T+


Responder

Gostei + 0

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

Aceitar