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

Transaccion SQL y C#

Estas en el tema de Transaccion SQL y C# en el foro de .NET en Foros del Web. Hola que tal, les comento la estructura que estoy manejando, tengo 3 clases: Recurso, Personal y Vehiculo Estas ultimas dos heredan los datos de la ...
  #1 (permalink)  
Antiguo 22/11/2011, 09:41
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Transaccion SQL y C#

Hola que tal, les comento la estructura que estoy manejando, tengo 3 clases:

Recurso, Personal y Vehiculo

Estas ultimas dos heredan los datos de la clase recurso, las tengo definida de la siguiente manera:

RECURSO:

Código:
public class recurso
    {
        bool nuevo = true;

        protected bool bHabilitado;

        protected string sCodigoBarra;

        protected int idEmpresa;

        //protected Imagen?

        protected string dFechaDesde;

        protected string dFechaHasta;

        protected string sObservaciones;

        public bool BHabilitado
        {
            get { return bHabilitado; }
            set { bHabilitado = value; }
        }

        // Propiedad del atributo Codigo de barra
        public string SCodigoBarra
        {
            get { return sCodigoBarra; }
            set { sCodigoBarra = value; }
        }

        // Propiedad del atributo Empresa
        public int IdEmpresa
        {
            get { return idEmpresa; }
            set { idEmpresa = value; }
        }

        // Propiedad del atributo Fecha desde
        public string DFechaDesde
        {
            get { return dFechaDesde; }
            set { dFechaDesde = value; }
        }

        // Propiedad del atributo Foto
        public string DFechaHasta
        {
            get { return dFechaHasta; }
            set { dFechaHasta = value; }
        }

        // Propiedad del atributo Observaciones
        public string SObservaciones
        {
            get { return sObservaciones; }
            set { sObservaciones = value; }
        }

        //Metodos de la CLASE!!!!! 

        //Metodo para CARGAR


        public bool Existe(string Documento)
        {

            bool esta = true;

            CONEXION datoempleado = new CONEXION();
            datoempleado.Stringconetion = datoempleado.CargarStringConnection("C:\\A.txt");
            datoempleado.Conectar();

            string sql = "Select count (Dni) from Empleados where Dni =  " + Documento;// con los ' no anda

            int valor = Convert.ToInt32(datoempleado.TraerValorSql(sql));

            if (valor == 0)
            {
                esta = false;
            }
            return esta;


        }

        public void GuardarRecurso()
        {
            string sql = "";

            CONEXION datorecurso = new CONEXION();
            datorecurso.Stringconetion = datorecurso.CargarStringConnection("C:\\A.txt");
            datorecurso.Conectar();

            if (nuevo == false)
            {
                /*sql = ("update empleados set Apellido='" + apellido + "' , Nombre='" + nombre + "',Nacionalidad='" + nacionalidad + " ',Telefono=" + telefono + ",Direccion = '" + direccion + "', Localidad='" + localidad + "',Provincia='" + provincia + "',Sueldo=" + sueldo + ",Ocupacion='" + ocupacion + "' where DNI=" + dni);
                datoempleado.InsertarSQL(sql);*/
            }

            else
            {
                sql = ("INSERT INTO [controlHabilitacion].[dbo].[recurso]([sCodigoBarra],[idEmpresa],[bHabilitado],[dFechaDesde],[dFechaHasta],[sObservaciones]) Values ('" + sCodigoBarra + "','" + idEmpresa + "','" + bHabilitado  + "' ,'" + dFechaDesde + "','" + dFechaHasta + "','" + sObservaciones + "')");
                sql += " Select @@identity ";
                datorecurso.InsertarSQL(sql);

            }
        }

    }
PERSONAL:

Código:
 public class personal:recurso
    {
        bool nuevo = false;

        protected string sCuil;

        protected string sDni;

        protected string sNombre;

        protected string sApellido;

        protected string dFechaNacimiento;

        protected string sFunsion;

        protected string sConvenio;

        protected int bDirecto;

        protected bool bHabilitadoParaConducir;

        /*public personal(string Cuil, string Dni, string Nombre, string Apellido,string FechaNacimiento,string Funsion,string Convenio,bool Directo,bool HabilitadoParaConducir,bool Habilitado,string CodigoBarra,int Empresa,string FechaDesde,string FechaHasta,string Observaciones):base(Habilitado,CodigoBarra,Empresa,FechaDesde,FechaHasta,Observaciones)
        {
            sCuil = Cuil;
            sDni = Dni;
            sNombre = Nombre;
            sApellido = Apellido;
        }*/

        //Propiedad del atributo Cuil
        public string SCuil
        {
            get { return sCuil; }
            set { sCuil = value; }
        }

        //Propiedad del atributo Dni
        public string SDni
        {
            get { return sDni; }
            set { sDni = value; }
        }

        // Propiedad del atributo Nombre
        public string SNombre
        {
            get { return sNombre; }
            set { sNombre = value; }
        }

        // Propiedad del atributo Apellido
        public string SApellido
        {
            get { return sApellido; }
            set { sApellido = value; }
        }

        // Propiedad del atributo Fecha Nacimiento
        public string DFechaNacimiento
        {
            get { return dFechaNacimiento; }
            set { dFechaNacimiento = value; }
        }

        // Propiedad del atributo Funsion
        public string SFunsion
        {
            get { return sFunsion; }
            set { sFunsion = value; }
        }

        public string SConvenio
        {
            get { return sConvenio; }
            set { sConvenio = value;}
        }

        public int BDirecto
        {
            get { return bDirecto; }
            set { bDirecto = value; }
        }

        public bool BHabilitadoParaConducir
        {
            get { return bHabilitadoParaConducir; }
            set { bHabilitadoParaConducir = value; }
        }

        //Metodos de la CLASE!!!!! 

        //Metodo para CARGAR

        public void Cargar(string Dni)
        {
            nuevo = false;

            CONEXION datoempleado = new CONEXION();
            datoempleado.Stringconetion = datoempleado.CargarStringConnection("C:\\A.txt");
            datoempleado.Conectar();

            DataTable dt = datoempleado.TraerDataTableSQL("select * from Empleados where DNI=" + Dni);

            CargarR(dt.Rows[0]);
        }

        internal void CargarR(DataRow Row)
        {
            /*dni = Row["Dni"].ToString();
            nombre = Row["Nombre"].ToString();
            apellido = Row["Apellido"].ToString();
            nacionalidad = Row["Nacionalidad"].ToString();
            telefono = Row["Telefono"].ToString();
            Direccion = Row["Direccion"].ToString();
            localidad = Row["Localidad"].ToString();
            provincia = Row["Provincia"].ToString();
            ocupacion = Row["Ocupacion"].ToString();
            sueldo = Row["Sueldo"].ToString();*/

        }

        public bool Existe(string Documento)
        {

            bool esta = true;

            CONEXION datoempleado = new CONEXION();
            datoempleado.Stringconetion = datoempleado.CargarStringConnection("C:\\A.txt");
            datoempleado.Conectar();

            string sql = "Select count (Dni) from Empleados where Dni =  " + Documento;// con los ' no anda

            int valor = Convert.ToInt32(datoempleado.TraerValorSql(sql));

            if (valor == 0)
            {
                esta = false;
            }
            return esta;


        }

        public void GuardarPersonal()
        {
            /*string sql = "";

            CONEXION datoempleado = new CONEXION();
            datoempleado.Stringconetion = datoempleado.CargarStringConnection("C:\\A.txt");
            datoempleado.Conectar();

            if (nuevo == false)
            {
                sql = ("update empleados set Apellido='" + apellido + "' , Nombre='" + nombre + "',Nacionalidad='" + nacionalidad + " ',Telefono=" + telefono + ",Direccion = '" + direccion + "', Localidad='" + localidad + "',Provincia='" + provincia + "',Sueldo=" + sueldo + ",Ocupacion='" + ocupacion + "' where DNI=" + dni);
                datoempleado.InsertarSQL(sql);

            }

            else
            {
                sql = ("INSERT INTO [Restaurante].[dbo].[Empleados]([DNI],[Apellido],[Nombre],[Nacionalidad],[Telefono],[Direccion],[Localidad],[Provincia],[Sueldo],[Ocupacion]) Values ('" + dni + "','" + apellido + "','" + nombre + "' ,'" + nacionalidad + "','" + telefono + "','" + direccion + "','" + localidad + "','" + provincia + "'," + sueldo + ",'" + ocupacion + "')");
                sql += " Select @@identity ";
                datoempleado.InsertarSQL(sql);

            
            }*/
        }

    }
Y Vehiculo que tiene sus respectivos datos, el tema es que al momento de insertar un Recurso, tengo que tomar este ultimo ID insertardo, para seguir con el proceso e insertar los datos que le corresponden a personal, con su respectivo id. Se que esto se hace con una transaccion, donde pueda ejecutar las dos inserciones a la vez, y para poder obtener el ultimo ID, mi idea es desarrollar una funsion INSERT, que se use para transacciones, (GENERALIZADA) pero al no conocer estos comandos en C# y al no entender bien el proceso de transaccion, me gustaria acudir a la gente del foro, para que me de una mano para solucionar este problema. Si hay alguna otra manera bienvenida sea! agradezco su ayuda! y saludos!!
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #2 (permalink)  
Antiguo 22/11/2011, 10:24
 
Fecha de Ingreso: febrero-2010
Ubicación: in a program computer
Mensajes: 90
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Transaccion SQL y C#

Hola..

te dejo este link ..
http://msdn.microsoft.com/en-gb/library/2k2hy99x.aspx

Saludos =)
__________________
... y quien creen ustedes que invento el caos??

Etiquetas: net, sql, transacciones
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 15:10.