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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar