SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: JaviMarciano en Sábado 6 de Marzo de 2010, 13:31

Título: Bases de Datos
Publicado por: JaviMarciano en Sábado 6 de Marzo de 2010, 13:31
Hola Estoy tratando de crear una aplicación para manipular una base de datos y alguien me pasó el sig. código:
Citar
public class Class_Conexion
    {
        private SqlConnection conexion;
        protected string Server = @"MARCHETTI";//servidor....
        protected string BD = @"Prueba";  //base de datos

        public Class_Conexion()
        {
            conexion = new SqlConnection("Data Source=" + Server + ";Initial Catalog=" + BD + ";Integrated Security=True");
        }

        public SqlConnection Conexion
        {
            get { return conexion; }
            set { conexion = value; }
        }

        public void Close()
        {
            conexion.Close();
        }

        public void Open()
        {
            conexion.Open();
        }
        public string Estado_de_Conexion()
        {
            return conexion.State.ToString();
        }
    }

alguien puede explicarme que hace exáctamente el método
Citar
public SqlConnection Conexion
        {
            get { return conexion; }
            set { conexion = value; }
        }
que hacen Set y Get?
Título: Re: Bases de Datos
Publicado por: berkut2009 en Sábado 6 de Marzo de 2010, 16:37
Hola,  sabes algo de programacion orientad aa objetos?
Título: Re: Bases de Datos
Publicado por: JaviMarciano en Sábado 6 de Marzo de 2010, 16:39
Cita de: "berkut2009"
Hola,  sabes algo de programacion orientad aa objetos?

En eso estoy...
Aprendiendo
Título: Re: Bases de Datos
Publicado por: berkut2009 en Sábado 6 de Marzo de 2010, 17:19
En si el seter y el geter, es parte de encapsulamiento, vos por ejemplo cuando creas una clase, luego en tu proyecto principal creas un objeto cone sa clase po rej:
Clase Empleado
{
   Private string nombre;
   Private string apellido;
   
  //Como son privados no podemos acceder a las variables de esta clase asi no mas.
  //Bueno ahora es parte del encapsulameinto.

   public string _Nombre
   {
     get { return nombre; }
     set { nombre= value; }
   }

   public string _Apellido
   {
     get { return apellido; }
     set { apellido= value; }
   }

}


ahora en tu programa principal vas a crear un objeto:

Empleado miEmpleado = new Empleado;

//ahora vamos a asignarle el nombre y el apellido al nuesto miEmpleado;

miEmpleado._Apellido = "Pepe";
miEmpleado._Nombre = "Ramirez";

//lo que hicimos es asignarle a nuestras variables de ariba nombre y apellido los valores pepe y ramirez; (Usamos el SET)
//ahora para leer esos valores usamos el GET pero lo unico que tenes q hacer es

Console.WrtiteLine (miEmpleado._Nombre)

//y te va a devolver el nombre que tiene la variable nombre en tu objeto miEmpleado;
//Espero que te ayude eso  :)
Título: Re: Bases de Datos
Publicado por: JaviMarciano en Sábado 6 de Marzo de 2010, 18:13
Cita de: "berkut2009"
En si el seter y el geter, es parte de encapsulamiento, vos por ejemplo cuando creas una clase, luego en tu proyecto principal creas un objeto cone sa clase po rej:
Clase Empleado
{
   Private string nombre;
   Private string apellido;
   
  //Como son privados no podemos acceder a las variables de esta clase asi no mas.
  //Bueno ahora es parte del encapsulameinto.

   public string _Nombre
   {
     get { return nombre; }
     set { nombre= value; }
   }

   public string _Apellido
   {
     get { return apellido; }
     set { apellido= value; }
   }

}


ahora en tu programa principal vas a crear un objeto:

Empleado miEmpleado = new Empleado;

//ahora vamos a asignarle el nombre y el apellido al nuesto miEmpleado;

miEmpleado._Apellido = "Pepe";
miEmpleado._Nombre = "Ramirez";

//lo que hicimos es asignarle a nuestras variables de ariba nombre y apellido los valores pepe y ramirez; (Usamos el SET)
//ahora para leer esos valores usamos el GET pero lo unico que tenes q hacer es

Console.WrtiteLine (miEmpleado._Nombre)

//y te va a devolver el nombre que tiene la variable nombre en tu objeto miEmpleado;
//Espero que te ayude eso  :)

Muchas gracias por tu respuesta.

veamos si entiendo el get es para cuando necesito consultar el valor de la propiedad por ej: _Nombre?
Citar
Console.WrtiteLine (miEmpleado._Nombre)

y el Set para cuando deseo asignarle el valor
Citar
miEmpleado._Nombre = "Ramirez";
Título: Re: Bases de Datos
Publicado por: berkut2009 en Sábado 6 de Marzo de 2010, 18:28
Exactamente, solo que no al _nombre o _apellido, esas son las funciones, sino que a las variables nombre y apellido
_nombre y  _apellido son nombres de funciones qu enos permiten asignar y avergirgar los valores nombre y apellido

podes poner si queres

public string AveriguarNombre
{
  get { return nombre; }
  set { nombre = valor; }
}

public string AveriguarApellido
{
  get { return apellido; }
  set { apellido = valor; }
}

vos para manejar las variables privadas que tenes dentro de tu objeto (nombre, apellido), solamente manejas las funciones que te permiten asignarle o averoguar el valor, nunca tocas las variables en si.
mandas una consulta a la funcion y la funcion (AveriguarNombre o AveriguarApellido) haran el resto.
Título: Re: Bases de Datos
Publicado por: berkut2009 en Sábado 6 de Marzo de 2010, 18:29
la variable "valor" que esta dentro de las funcione Averiguar, es una variable que solamente la manejas no hay q crearla, esta especialmente echa para eso.
Título: Re: Bases de Datos
Publicado por: JaviMarciano en Sábado 6 de Marzo de 2010, 18:32
Cita de: "berkut2009"
Exactamente, solo que no al _nombre o _apellido, esas son las funciones, sino que a las variables nombre y apellido
_nombre y  _apellido son nombres de funciones qu enos permiten asignar y avergirgar los valores nombre y apellido

podes poner si queres

public string AveriguarNombre
{
  get { return nombre; }
  set { conexion = nombre; }
}

public string AveriguarApellido
{
  get { return apellido; }
  set { conexion = apellido; }
}

vos para manejar las variables privadas que tenes dentro de tu objeto (nombre, apellido), solamente manejas las funciones que te permiten asignarle o averoguar el valor, nunca tocas las variables en si.
mandas una consulta a la funcion y la funcion (AveriguarNombre o AveriguarApellido) haran el resto.

Ah claro ahora entiendo. muchas gracias por tu ayuda se aclaró un poco el panorama!
Título: Re: Bases de Datos
Publicado por: berkut2009 en Sábado 6 de Marzo de 2010, 18:39
mira que modifique un poco el codigo jaaj :P
me habia equivocado con las variales..
Suerte!