Transação com Firebird

Delphi

30/03/2004

Ae delphianos

Estou desenvolvendo uma aplicação web, nessa aplicação tenho dois formulários que o usuário preenche. Depois de preencher o primeiro ele clica em CONTINUAR e vai para o segundo cadastro sendo que estou ´guardando´ os valores digitados na primeira parte do cadastro em um ´input hidden´ (campo oculto).
Ai na ação de confirmação para gravar os dados no banco tenho o seguinte código:

var TD: TTransactionDesc; begin IF NOT CON1.InTransaction THEN BEGIN TD.TransactionID := 1; TD.IsolationLevel := xilREADCOMMITTED; CON1.StartTransaction(TD); TRY SQLIncCliente.Close; SQLIncCliente.ParamByName(´pcclifor´).Value := Request.QueryFields.Values[´CCLIFOR´]; SQLIncCliente.ParamByName(´prazao´).Value := Request.QueryFields.Values[´RAZAOSOCIAL´]; SQLIncCliente.ParamByName(´pfantasia´).Value := Request.QueryFields.Values[´FANTASIA´]; SQLIncCliente.ParamByName(´pcfilial´).Value := Request.QueryFields.Values[´CFILIAL´]; SQLIncCliente.ParamByName(´ptipo´).Value := Request.QueryFields.Values[´TIPO´]; SQLIncCliente.ParamByName(´pativo´).Value := Request.QueryFields.Values[´ATIVO´]; SQLIncCliente.ParamByName(´pmala´).Value := Request.QueryFields.Values[´MALA´]; SQLIncCliente.ParamByName(´pdtalt´).Value := Request.QueryFields.Values[´DTALT´]; SQLIncCliente.ParamByName(´pdtcadastro´).Value := Request.QueryFields.Values[´DTCADASTRO´]; SQLIncCliente.ParamByName(´pcoment´).Value := Request.QueryFields.Values[´COMENT´]; SQLIncCliente.ParamByName(´phpage´).Value := Request.QueryFields.Values[´HPAGE´]; SQLIncCliente.ExecSQL; SQLIncCliente1.Close; SQLIncCliente1.ParamByName(´pcgc´).Value := Request.QueryFields.Values[´CGC´]; SQLIncCliente1.ParamByName(´pfilialcf´).Value := Request.QueryFields.Values[´NOME´]; SQLIncCliente1.ParamByName(´pfilialcf´).Value := Request.QueryFields.Values[´CFILIAL´]; SQLIncCliente1.ParamByName(´pendereco´).Value := Request.QueryFields.Values[´ENDERECO´]; SQLIncCliente1.ParamByName(´pnumero´).Value := Request.QueryFields.Values[´NUMERO´]; SQLIncCliente1.ParamByName(´pcxp´).Value := Request.QueryFields.Values[´CXP´]; SQLIncCliente1.ParamByName(´pcomplemento´).Value := Request.QueryFields.Values[´COMPLEMENTO´]; SQLIncCliente1.ParamByName(´pbairro´).Value := Request.QueryFields.Values[´BAIRRO´]; SQLIncCliente1.ParamByName(´pccidade´).Value := Request.QueryFields.Values[´CCIDADE´]; SQLIncCliente1.ParamByName(´pcep´).Value := Request.QueryFields.Values[´CEP´]; SQLIncCliente1.ParamByName(´pcxp1´).Value := Request.QueryFields.Values[´ENDERECO1´]; SQLIncCliente1.ParamByName(´pcxp1´).Value := Request.QueryFields.Values[´NUMERO1´]; SQLIncCliente1.ParamByName(´pcxp1´).Value := Request.QueryFields.Values[´CXP1´]; SQLIncCliente1.ParamByName(´pcxp1´).Value := Request.QueryFields.Values[´COMPLEMENTO1´]; SQLIncCliente1.ParamByName(´pbairro1´).Value := Request.QueryFields.Values[´BAIRRO1´]; SQLIncCliente1.ParamByName(´pccidade1´).Value := Request.QueryFields.Values[´CCIDADE1´]; SQLIncCliente1.ParamByName(´pccep1´).Value := Request.QueryFields.Values[´CEP1´]; SQLIncCliente1.ParamByName(´pfone´).Value := Request.QueryFields.Values[´FONE´]; SQLIncCliente1.ParamByName(´pramal´).Value := Request.QueryFields.Values[´RAMAL´]; SQLIncCliente1.ParamByName(´pfax´).Value := Request.QueryFields.Values[´FAX´]; SQLIncCliente1.ParamByName(´pcelular´).Value := Request.QueryFields.Values[´CELULAR´]; SQLIncCliente1.ParamByName(´pie´).Value := Request.QueryFields.Values[´IE´]; SQLIncCliente1.ParamByName(´pcoment´).Value := Request.QueryFields.Values[´COMENTARIO´]; SQLIncCliente1.ParamByName(´pcontato´).Value := Request.QueryFields.Values[´CONTATO´]; SQLIncCliente1.ParamByName(´pemail´).Value := Request.QueryFields.Values[´EMAIL´]; SQLIncCliente1.ExecSQL; CON1.Commit(TD); {em caso de sucesso, insere registros}; Response.Content := PPConfCadCli.Content; EXCEPT CON1.Rollback(TD); {em caso de falha, não insere registros}; Response.Content := PPErroCadastro.Content; END; END;


Só que não está gravando no banco e não sei o que está acontecendo. Coloquei essa mesma SQL (SQLIncCliente e SQLIncCliente1) no IBCONSOLE e testei, ela está ok.

Alguem pode ajudar?

Obrigado


Adritec

Adritec

Curtidas 0

Respostas

Rômulo Barros

Rômulo Barros

30/03/2004

Estranho.. mais muito muito muito + muito estranho mesmoOOOO :lol:


GOSTEI 0
Adritec

Adritec

30/03/2004

Ae

O que vc achou estranho ???

Ajuda ae galera !!!


GOSTEI 0
Rômulo Barros

Rômulo Barros

30/03/2004

:lol: :lol: :lol: :lol: :lol: :lol: :lol: mas muito estranho mesmo :roll:


GOSTEI 0
Leandro_si

Leandro_si

30/03/2004

var TD: TTransactionDesc; begin IF NOT CON1.InTransaction THEN BEGIN TD.TransactionID := 1; TD.IsolationLevel := xilREADCOMMITTED; CON1.StartTransaction(TD); TRY [color=red:2195c5b6a2]SQLIncCliente.Close; [/color:2195c5b6a2] SQLIncCliente.ParamByName(´pcclifor´).Value := Request.QueryFields.Values[´CCLIFOR´]; SQLIncCliente.ParamByName(´prazao´).Value := Request.QueryFields.Values[´RAZAOSOCIAL´]; SQLIncCliente.ParamByName(´pfantasia´).Value := Request.QueryFields.Values[´FANTASIA´]; SQLIncCliente.ParamByName(´pcfilial´).Value := Request.QueryFields.Values[´CFILIAL´]; SQLIncCliente.ParamByName(´ptipo´).Value := Request.QueryFields.Values[´TIPO´]; SQLIncCliente.ParamByName(´pativo´).Value := Request.QueryFields.Values[´ATIVO´]; SQLIncCliente.ParamByName(´pmala´).Value := Request.QueryFields.Values[´MALA´]; SQLIncCliente.ParamByName(´pdtalt´).Value := Request.QueryFields.Values[´DTALT´]; SQLIncCliente.ParamByName(´pdtcadastro´).Value := Request.QueryFields.Values[´DTCADASTRO´]; SQLIncCliente.ParamByName(´pcoment´).Value := Request.QueryFields.Values[´COMENT´]; SQLIncCliente.ParamByName(´phpage´).Value := Request.QueryFields.Values[´HPAGE´]; [color=blue:2195c5b6a2]SQLIncCliente.Open;[/color:2195c5b6a2] SQLIncCliente.ExecSQL; [color=red:2195c5b6a2]SQLIncCliente1.Close; [/color:2195c5b6a2] SQLIncCliente1.ParamByName(´pcgc´).Value := Request.QueryFields.Values[´CGC´]; SQLIncCliente1.ParamByName(´pfilialcf´).Value := Request.QueryFields.Values[´NOME´]; SQLIncCliente1.ParamByName(´pfilialcf´).Value := Request.QueryFields.Values[´CFILIAL´]; SQLIncCliente1.ParamByName(´pendereco´).Value := Request.QueryFields.Values[´ENDERECO´]; SQLIncCliente1.ParamByName(´pnumero´).Value := Request.QueryFields.Values[´NUMERO´]; SQLIncCliente1.ParamByName(´pcxp´).Value := Request.QueryFields.Values[´CXP´]; SQLIncCliente1.ParamByName(´pcomplemento´).Value := Request.QueryFields.Values[´COMPLEMENTO´]; SQLIncCliente1.ParamByName(´pbairro´).Value := Request.QueryFields.Values[´BAIRRO´]; SQLIncCliente1.ParamByName(´pccidade´).Value := Request.QueryFields.Values[´CCIDADE´]; SQLIncCliente1.ParamByName(´pcep´).Value := Request.QueryFields.Values[´CEP´]; SQLIncCliente1.ParamByName(´pcxp1´).Value := Request.QueryFields.Values[´ENDERECO1´]; SQLIncCliente1.ParamByName(´pcxp1´).Value := Request.QueryFields.Values[´NUMERO1´]; SQLIncCliente1.ParamByName(´pcxp1´).Value := Request.QueryFields.Values[´CXP1´]; SQLIncCliente1.ParamByName(´pcxp1´).Value := Request.QueryFields.Values[´COMPLEMENTO1´]; SQLIncCliente1.ParamByName(´pbairro1´).Value := Request.QueryFields.Values[´BAIRRO1´]; SQLIncCliente1.ParamByName(´pccidade1´).Value := Request.QueryFields.Values[´CCIDADE1´]; SQLIncCliente1.ParamByName(´pccep1´).Value := Request.QueryFields.Values[´CEP1´]; SQLIncCliente1.ParamByName(´pfone´).Value := Request.QueryFields.Values[´FONE´]; SQLIncCliente1.ParamByName(´pramal´).Value := Request.QueryFields.Values[´RAMAL´]; SQLIncCliente1.ParamByName(´pfax´).Value := Request.QueryFields.Values[´FAX´]; SQLIncCliente1.ParamByName(´pcelular´).Value := Request.QueryFields.Values[´CELULAR´]; SQLIncCliente1.ParamByName(´pie´).Value := Request.QueryFields.Values[´IE´]; SQLIncCliente1.ParamByName(´pcoment´).Value := Request.QueryFields.Values[´COMENTARIO´]; SQLIncCliente1.ParamByName(´pcontato´).Value := Request.QueryFields.Values[´CONTATO´]; SQLIncCliente1.ParamByName(´pemail´).Value := Request.QueryFields.Values[´EMAIL´]; [color=blue:2195c5b6a2]SQLIncCliente1.Open;[/color:2195c5b6a2] SQLIncCliente1.ExecSQL; CON1.Commit(TD); {em caso de sucesso, insere registros}; Response.Content := PPConfCadCli.Content; EXCEPT CON1.Rollback(TD); {em caso de falha, não insere registros}; Response.Content := PPErroCadastro.Content; END; END;


vc nao teria que abrir ela antes tipo. os códigos em azul... por exemplo..??
da uma testada ae...


GOSTEI 0
POSTAR