[firebase-br] Firebird X Transacao X .NET
Magno System
magnosysteminformatica em gmail.com
Qui Ago 19 10:25:49 -03 2010
Marcelo, não programo em .NET mas pelo que eu ACHO que entendi do código
você abre e fecha a conexão a cada transação. Não é necessário fechar a
conexão. Abra e feche somente a transação.
----- Original Message -----
From: "Marcelo Moreira" <marcelomoreira.souza em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, August 19, 2010 10:13 AM
Subject: [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
Mais detalhes sobre a lista de discussão lista