Transaction C#

14/10/2011

0

Bom dia Pessoal,

Estou precisando fazer um Insert e um Update no mesmo metodo, alguém poderia me ajudar..

Vlw
Alan Miranda

Alan Miranda

Responder

Posts

14/10/2011

Fabio Rosa

Olá Alan!

Você está usando que tipo de conexão com o banco? ADO .NET, Nhibernate, Entity Framework?

Att.
Responder

14/10/2011

Alan Miranda

Fabio,

Estou utilizando ADO.NET.

Obrigado!
Responder

14/10/2011

Ulisses Silva

Amigo,
Veja se este exemplo te atende:
http://devrafael.blogspot.com/2011/02/utilizando-transacoes-adonet.html

T+...
Responder

20/10/2011

Alan Miranda

Muito obrigado!

Porem eu consigo fazer esses dois comandos direto no banco de dados ?

Vlw
Responder

20/10/2011

Rodrigo Odasaki

Consegue sim, utilizando procedure.
Responder

20/10/2011

Alan Miranda

Então fazer a transaction no SQL e manda a reposta para o C# certo ?

Teria algum exemplo no SQL

Obrigado
Responder

21/10/2011

Evandro Lopes

Bom dia Alan, você deverá fazer algo muito proximo disso:
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.
Responder

21/10/2011

Dyego Furletti

Trasanction Ado Net (Oracle)

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
}
}
}
Responder

21/10/2011

Dyego Furletti

Transaction utilizando Entity Framework

/*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
}
}
}
}
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar