Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/11/2007, 05:51
Davideslapoya
 
Fecha de Ingreso: julio-2006
Mensajes: 79
Antigüedad: 18 años, 8 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