[firebase-br] PHP acessando FireBir =?ISO-8859-1?Q?d, _Qual_=E9_melhor_ODBC_ou_IBASE_que_=E9_nativo=3F?=

Mario brujeria em task.com.br
Sáb Fev 10 09:43:16 -03 2007


Ola,

entendi o que você quis dizer, vou exemplificar. 

Quando faço Cadastro de Pessoa em um sistema meu este faz as seguintes
inclusões:
1 PESSOAS - 2 PESSOASFISICAS - 3 USUARIOS - 4 MENSAGEIROS - 5 LOCAIS
6 LOCAISPESSOAS - 7 TELEFONES - 8 TELEFONESPESSOAS

Isso tudo vem de apenas um formulário aonde a pessoa inclue todos os
seus dados: nome, endereço, telefones, emails...
Dai voce monta todas estas SQL e faz um Commit ou RollBack.

Caso queira fazer de diferentes formularios, use AJAX q daí vc "esconde"
os outros forms e os dados serão enviados todos de uma vez para gerar os
SQL.

Caso não use AJAX, grave os SQL na sessao, e só após fazer TODAS as
inclusões ele roda um Commit/Rollback. 

Sobre pegar o id do cliente para preencher  monte todas as SQL usando
GEN_ID, é seguro!

Sinceramente, nao gosto de manter nada aberto, nem transação nem
conexao. Acho que sou um pouco traumatizado q na época em que trabalhava
em numa provedora (1998) o gerenciador de rede sempre falava: Se manter
as conexoes aberta o server vai cair! auauhhaa

Valeu
Mario H.





Em Sex, 2007-02-09 às 22:44 -0200, Fernando Reis Guimarães escreveu:
> Bom vou tentar ser bem sucinto na explicação sobre o controle transacional,
> mais já adianto que concordo no ponto que você fala das transações curtas,
> seria algo como o IBO...
> 
> Mas imagine...
> Você precisa fazer tres cadastros, um do cliente, outro dos empregados
> autorizados do cliente, e das parcelas do cliente.
> Ou seja, 3 tipo de cadastro, mas gostaria que fosse cadastrado tudo, ou
> nada, ou seja a transação teria que continuar aberto e linkada a sessão PHP
> para que isso fosse verdade, não pesquisei muito ainda, mas se eu não
> conseguir vou ter que arruma uma gambiarra.
> 
> Mas entendeu, o que eu preciso?
> Cadastra o cliente e retorna o codigo do cliente
> Mantem a transação aberta
> Cadastras os funcionários do cliente
> Mantem a mesma transação aberta
> Cadastras as parcelas a serem pagas pelo cliente.
> Fecha a transação e comita.
> 
> Ou seja grava tudo ou grava nada....
> 
> Como fazer isso?
> Agradeço qualquer ajuda no sentido...
> Atenciosamente,
> Fernando Reis Guimarães.
> 
> Contatos
> fernando em fernandobhz.com
> http://www.fernandobhz.com
> Celular 9213-3727.
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista