Foros del Web » Programación para mayores de 30 ;) » .NET »

problema con TRANSACTIONSCOPE

Estas en el tema de problema con TRANSACTIONSCOPE en el foro de .NET en Foros del Web. Buenas amigos, necesito una ayudita con una m**** de objeto llamado TRANSACTIONSCOPE, resulta que tengo un codigo: private void btnADD_Click(object sender, EventArgs e) { try ...
  #1 (permalink)  
Antiguo 14/11/2007, 05:51
 
Fecha de Ingreso: julio-2006
Mensajes: 79
Antigüedad: 17 años, 9 meses
Puntos: 0
problema con TRANSACTIONSCOPE

Buenas amigos, necesito una ayudita con una m**** de objeto llamado TRANSACTIONSCOPE, resulta que tengo un codigo:

private void btnADD_Click(object sender, EventArgs e)
{
try
{

scope = new TransactionScope();
string cad = @"Data Source=salberca\gestion;Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;password=pwdgestion";
int vidcarpeta = int.Parse(txtIdCarpeta.Text);
string vdesccarpeta = txtDescCarpeta.Text;
int viddocumento = int.Parse(txtIddocumento.Text);
string vdscdocumento = txtDescDocumento.Text;
using (scope )

{
Carpeta.Add(cad, vidcarpeta, vdesccarpeta);
Documento.Add(cad, vidcarpeta, viddocumento, vdscdocumento);
scope.Complete();

}
scope.Dispose();

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
scope.Dispose();


}

public static void Add(string cadena,int ID, string Desc)
{
try
{


SqlConnection cn = new SqlConnection(cadena);
SqlCommand cmd = new SqlCommand();
SqlParameter param1 = new SqlParameter("@IDENTIFICADOR", System.Data.SqlDbType.Int);
SqlParameter param2 = new SqlParameter("@DESCRIPCION", System.Data.DbType.String);
object miobjet= Transaction.Current;
param1.Value = ID;
param2.Value = Desc;
cmd.Parameters.Add(param1);
cmd.Parameters.Add(param2);
cn.Open();
cmd.Connection = cn;

cmd.CommandText = "CREAR_CARPETA";
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.ExecuteNonQuery();




}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}

Cuando en el metodo Add() voy a abir la conexion(cn.open()) me da el siguiente error"La transacion yaa se he realizado o se ha cancelado implicitamente o explicitamente"
¿Que esta pasado? plis ayudas
mas datos: uso c# 2005 y sql 2005
  #2 (permalink)  
Antiguo 15/11/2007, 09:23
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Re: problema con TRANSACTIONSCOPE

Cita:
Iniciado por Davideslapoya Ver Mensaje
Buenas amigos, necesito una ayudita con una m**** de objeto llamado TRANSACTIONSCOPE, resulta que tengo un codigo:

private void btnADD_Click(object sender, EventArgs e)
{
try
{

scope = new TransactionScope();
string cad = @"Data Source=salberca\gestion;Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;password=pwdgestion";
int vidcarpeta = int.Parse(txtIdCarpeta.Text);
string vdesccarpeta = txtDescCarpeta.Text;
int viddocumento = int.Parse(txtIddocumento.Text);
string vdscdocumento = txtDescDocumento.Text;
using (scope )

{
Carpeta.Add(cad, vidcarpeta, vdesccarpeta);
Documento.Add(cad, vidcarpeta, viddocumento, vdscdocumento);
scope.Complete();

}
scope.Dispose();

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
scope.Dispose();


}

public static void Add(string cadena,int ID, string Desc)
{
try
{


SqlConnection cn = new SqlConnection(cadena);
SqlCommand cmd = new SqlCommand();
SqlParameter param1 = new SqlParameter("@IDENTIFICADOR", System.Data.SqlDbType.Int);
SqlParameter param2 = new SqlParameter("@DESCRIPCION", System.Data.DbType.String);
object miobjet= Transaction.Current;
param1.Value = ID;
param2.Value = Desc;
cmd.Parameters.Add(param1);
cmd.Parameters.Add(param2);
cn.Open();
cmd.Connection = cn;

cmd.CommandText = "CREAR_CARPETA";
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.ExecuteNonQuery();




}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}

Cuando en el metodo Add() voy a abir la conexion(cn.open()) me da el siguiente error"La transacion yaa se he realizado o se ha cancelado implicitamente o explicitamente"
¿Que esta pasado? plis ayudas
mas datos: uso c# 2005 y sql 2005
yo he usado el try catch, tuve ciertos problemitas con eso también creo que son la conexión a la db lo que lo genera

nos vemos
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:25.