[firebase-br] RES: Firebird X Transacao X .NET

Marcelo Moreira marcelomoreira.souza em gmail.com
Qui Ago 19 13:32:40 -03 2010


Ivan,
Obrigado pelo retorno!
O que acontece é que eu preciso ter o controle das transacoes.
Neste caso ai trata-se de um simples select mas mesmo assim eu preciso dar o
commit para nao ficar com transacoes pendentes no banco.

A duvida ai é pq depois que comecei a iniciar a transacao e depois dar
commit o aplicativo demora um pouco mais a responder.

Obrigado pela atenção.

Em 19 de agosto de 2010 12:16, Ivan Guimarães Meirelles <
igmeirelles em gmail.com> escreveu:

> Olá Marcelo...
>
> Trabalho com .Net e Firebird há algum tempo.
> Não sei se entendi direito o que vc precisa com esse código, mas acho que
> vc
> pode substituir tudo isso, por apenas algumas linhas q irão retornar a
> mesma
> informação que vc deseja.
>
>            FbDataAdapter da = new FbDataAdapter("select USERPASSWORD from
> CUSTOMER_USER where USERNAME = @USERNAME",
> this.firebirdConnection.FbConnection);
>            da.SelectCommand.Parameters.Add("@USERNAME", UserName);
>            DataTable dt = new DataTable();
>            da.Fill(dt); da.Dispose();
>            passwordBD = dt.Rows[0][0].ToString();
>
> tentei adaptar ao seu código...
> não há necessidade de abrir a conexão para um simples select.
>
> Testa ai e ve se funciona...
>
> Espero que ajude,
> Um forte abraço.
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
> Em
> nome de Marcelo Moreira
> Enviada em: quinta-feira, 19 de agosto de 2010 09:14
> Para: FireBase
> Assunto: [firebase-br] Firebird X Transacao X .NET
>
> Pessoal,
> Depois que comecei a implementar controle de transação em um aplicativo
> .NET
> usando o Firebird notei que o sistema ficou um pouco mais lentro para
> executar as operações no banco. Isso é normal? Seria devido ao uso "agora"
> dos controles de transacoes?
> Deixo abairo um pedaco do codigo, sera que eu estou fazendo algo errado?
>
>            IDataReader iDataReader = null;
>            StringBuilder sbSql = new StringBuilder();
>            sbSql.Append("select USERPASSWORD from CUSTOMER_USER where
> USERNAME = @USERNAME");
>
>            FbCommand fbCommand = new FbCommand();
>            FbTransaction fbTransaction = null;
>
>            try
>            {
>                this.firebirdConnection.Open();
>                fbTransaction =
> this.firebirdConnection.FbConnection.BeginTransaction();
>                fbCommand.Connection = this.firebirdConnection.FbConnection;
>                fbCommand.Transaction = fbTransaction;
>                fbCommand.CommandType = CommandType.Text;
>                fbCommand.CommandText = sbSql.ToString();
>                fbCommand.Parameters.Clear();
>                fbCommand.Parameters.Add("USERNAME", UserName);
>                iDataReader = fbCommand.ExecuteReader();
>                while (iDataReader.Read())
>                {
>                    passwordBD = iDataReader["USERPASSWORD"].ToString();
>                }
>                iDataReader.Close();
>                fbTransaction.Commit();
>            }
>            catch (Exception ex)
>            {
>                fbTransaction.Rollback();
>                throw new Exception(ex.Message);
>            }
>            finally
>            {
>                iDataReader.Dispose();
>                fbCommand.Dispose();
>                fbTransaction.Dispose();
>                this.firebirdConnection.Close();
>            }
>
> No caso estou usando o Firebird 2.1.3
>
> Obrigado a todos pela atenção.
>
> --
> Marcelo Moreira
> (31) 8420-2723
> E-mail / MSN: marcelomoreira.souza em hotmail.com
> E-mail: marcelomoreira.souza em gmail.com
> Skype: marcelomoreira.souza
>  ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
> saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
Marcelo Moreira
(31) 8420-2723
E-mail / MSN: marcelomoreira.souza em hotmail.com
E-mail: marcelomoreira.souza em gmail.com
Skype: marcelomoreira.souza



Mais detalhes sobre a lista de discussão lista