Transaction C#
14/10/2011
0
Estou precisando fazer um Insert e um Update no mesmo metodo, alguém poderia me ajudar..
Vlw
Alan Miranda
Posts
14/10/2011
Fabio Rosa
Você está usando que tipo de conexão com o banco? ADO .NET, Nhibernate, Entity Framework?
Att.
14/10/2011
Ulisses Silva
Veja se este exemplo te atende:
http://devrafael.blogspot.com/2011/02/utilizando-transacoes-adonet.html
T+...
20/10/2011
Alan Miranda
Porem eu consigo fazer esses dois comandos direto no banco de dados ?
Vlw
20/10/2011
Alan Miranda
Teria algum exemplo no SQL
Obrigado
21/10/2011
Evandro Lopes
CREATE PROCEDURE SPSF_INCLUIR_ALTERAR ( @P_CODIGO as int, @P_NOME as varchar(40) ) AS BEGIN SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED IF @P_CODIGO <> 0 OR @P_CODIGO <> NULL BEGIN INSERT..... ELSE UPDATE..... END SET NOCOUNT OFF END
Espero ter ajudado.
Abraços.
21/10/2011
Dyego Furletti
OracleConnection conexao = new OracleConnection(StringConnection());
OracleCommand comando = new OracleCommand();
OracleTransaction transacao = null;
//Abre Conexão e Inicia Transação
try
{
if (conexao.State == ConnectionState.Closed)
conexao.Open();
comando.Connection = conexao;
}
catch (Exception ex)
{
comando.Parameters.Clear();
conexao.Close();
throw new Exception(Não foi possível estabelecer conexão.\nMotivo: + ex.Message);
}
//Exemplo utilização da Trasaction Oracle
try
{
transacao = conexao.BeginTransaction();
comando.Transaction = transacao;
StringBuilder ins = new StringBuilder();
ins.Append(INSERT INTO );
comando.CommandText = ins.ToString();
comando.ExecuteNonQuery();
transacao.Commit();
MessageBox.Show(Processo concluido com sucesso!!!);
}
catch (Exception ex)
{
if (transacao != null)
transacao.Rollback();
comando.Parameters.Clear();
conexao.Close();
throw new Exception(Processo abortado.\nMotivo: + ex.Message);
}
finally
{
if (conexao != null)
{
if (conexao.State == ConnectionState.Open)
{
conexao.Close(); //Fechando Conexão
}
}
}
21/10/2011
Dyego Furletti
/*Instanciar objeto da modelagem*/
ModelEntities Model = new ModelEntities(StringConnectionEntity); //Declaração do seu objeto da modelagem passando o string Entities
DbTransaction Transaction = null;
using (EntityConnection DbConnection = new EntityConnection(Model.Connection.ConnectionString))
{
try
{
if (DbConnection.State == ConnectionState.Closed)
{
DbConnection.Open(); //Abrindo Conexão
}
var CurrentContext = new ModelEntities(DbConnection); //Passando como parametro o estado da Conexão
Transaction = CurrentContext.Connection.BeginTransaction(); //Iniciando a Transação
//CurrentContext.SaveChanges(); //O objeto CurrentContext passa a ser o objeto que se comunica com sua modelagem
Transaction.Commit();
}
catch (Exception ex)
{
Transaction.Rollback();
}
finally
{
if (DbConnection != null)
{
if (DbConnection.State == ConnectionState.Open)
{
DbConnection.Close(); //Fechando Conexão
}
}
}
}
Clique aqui para fazer login e interagir na Comunidade :)