/// <summary> /// Funcion para que nos devuelva el listado de las personas /// </summary> /// <returns>Listado de personas</returns> public List <clsPersona> getListadoPersonaDAL() { List <clsPersona> listadoPersonas = new List <clsPersona>(); clsMyConnection myconexion = new clsMyConnection(); SqlConnection conexion = new SqlConnection(); SqlCommand comando = new SqlCommand(); clsPersona persona; SqlDataReader lector = null; try { conexion = myconexion.getConnection(); comando.CommandText = "select * from personas"; comando.Connection = conexion; lector = comando.ExecuteReader(); if (lector.HasRows) { while (lector.Read()) { persona = new clsPersona(); persona.id = (int)lector[Conexion.ColumnasConstantes.colId]; persona.nombre = (String)lector[Conexion.ColumnasConstantes.colNombre]; persona.apellido = (String)lector[Conexion.ColumnasConstantes.colApellidos]; persona.fechaNac = (DateTime)lector[Conexion.ColumnasConstantes.colFechaNac]; persona.direccion = (String)lector[Conexion.ColumnasConstantes.colDireccion]; persona.telefono = (String)lector[Conexion.ColumnasConstantes.colTelefono]; listadoPersonas.Add(persona); } } } catch (Exception) { throw; } finally { if (lector != null) { lector.Close(); } myconexion.closeConnection(ref conexion); } return(listadoPersonas); }
/// <summary> /// Obtiene una id por parametros, buscará una persona en la bbdd con ese id, si lo encuentra devolvera esa persona /// si no devolvera una persona vacía, saltará excepcion de sql en caso de algun fallo con la conexion. /// </summary> /// <param name="id">entero que hace referencia a la id de la persona </param> /// <returns>retornara una persona, si todo es correcto una persona de la bbdd segun su id, /// si no hay ninguna persona con esa id retornará una persona vacia.</returns> public clsPersona getPersona(int id) { clsPersona persona = new clsPersona(); clsMyConnection myconexion = new clsMyConnection(); SqlConnection conexion = new SqlConnection(); SqlCommand comando = new SqlCommand(); SqlDataReader lector = null; comando.Parameters.Add("@id", System.Data.SqlDbType.Int).Value = id; try { conexion = myconexion.getConnection(); comando.CommandText = "select * from personas where IDPersona = @id"; comando.Connection = conexion; lector = comando.ExecuteReader(); if (lector.HasRows) { while (lector.Read()) { persona.id = (int)lector[ColumnasConstantes.colId]; persona.nombre = (String)lector[ColumnasConstantes.colNombre]; persona.apellido = (String)lector[ColumnasConstantes.colApellidos]; persona.fechaNac = (DateTime)lector[ColumnasConstantes.colFechaNac]; persona.direccion = (String)lector[ColumnasConstantes.colDireccion]; persona.telefono = (String)lector[ColumnasConstantes.colTelefono]; } } } catch (Exception) { throw; } finally { if (lector != null) { lector.Close(); } myconexion.closeConnection(ref conexion); } return(persona); }
/// <summary> /// Este metodo obtiene una persona por parametros, intentara actualizar una persona de la bbdd segun su id /// si todo va correcto, y hay alguna persona con esa id en la bbdd lo actualizará (y retornara 1) /// ,si no hay ninguna persona con esa id en la bbdd no actualizará nada (y retornara 0), /// si hay algun fallo con la bbdd saltará una excepcion. /// </summary> /// <param name="id">entero que hace referencia a la id de una persona </param> /// <returns> retornará un entero con el numero de filas afectadas en la bbdd /// " 1 en el caso de que hubiera actualizado una persona en la bbdd /// " 0 en el caso de que no hubiera actualizado nada. /// </returns> public int updatePersona(clsPersona persona) { int resultado = 0; SqlConnection conexion = new SqlConnection(); SqlCommand comando; try { conexion = miConexion.getConnection(); comando = new SqlCommand(); //Añadimos los parametros comando.Parameters.Add("@Id", System.Data.SqlDbType.Int).Value = persona.id; comando.Parameters.Add("@Nombre", System.Data.SqlDbType.VarChar).Value = persona.nombre; comando.Parameters.Add("@Apellidos", System.Data.SqlDbType.VarChar).Value = persona.apellido; comando.Parameters.Add("@FechaNac", System.Data.SqlDbType.VarChar).Value = persona.fechaNac; comando.Parameters.Add("@Direccion", System.Data.SqlDbType.VarChar).Value = persona.direccion; comando.Parameters.Add("@Telefono", System.Data.SqlDbType.VarChar).Value = persona.telefono; //Comando Sql comando.CommandText = "Update Personas set " + ColumnasConstantes.colNombre + "=@Nombre, " + ColumnasConstantes.colApellidos + "=@Apellidos, " + ColumnasConstantes.colFechaNac + "=@FechaNac, " + ColumnasConstantes.colDireccion + "=@Direccion, " + ColumnasConstantes.colTelefono + "=@Telefono where IDPersona=" + persona.id; comando.Connection = conexion; resultado = comando.ExecuteNonQuery(); } catch (Exception) { throw; } finally { conexion.Close(); } return(resultado); }
/// <summary> /// El metodo obtiene una persona por parametros, e intenta introducirlo en la bbdd, /// si todo va correcto retornará un entero (0 o 1) con el numero de filas afectadas en la bbdd, /// si algo falla en la conexion saltará una excepcion sql. /// Retornara 1 en el caso de que hubiera insertado una fila en la bbdd /// " " 0 en el caso de que no insertara nada. /// </summary> /// <param name="persona">Objeto persona que hace refencia a la persona para insertar</param> /// <returns>Retornara un entero con el numero de filas afectadas en la bbdd : /// 1 en el caso de que hubiera insertado una fila en la bbdd /// 0 en el caso de que no insertara nada. /// </returns> public int insertPersona(clsPersona persona) { int resultado = 0; SqlConnection conexion = new SqlConnection(); SqlCommand comando; try { conexion = miConexion.getConnection(); comando = new SqlCommand(); //Añadimos los parametros comando.Parameters.Add("@Nombre", System.Data.SqlDbType.VarChar).Value = persona.nombre; comando.Parameters.Add("@Apellidos", System.Data.SqlDbType.VarChar).Value = persona.apellido; comando.Parameters.Add("@FechaNac", System.Data.SqlDbType.VarChar).Value = persona.fechaNac; comando.Parameters.Add("@Direccion", System.Data.SqlDbType.VarChar).Value = persona.direccion; comando.Parameters.Add("@Telefono", System.Data.SqlDbType.VarChar).Value = persona.telefono; //Comando Sql comando.CommandText = "Insert Into personas (" + ColumnasConstantes.@colNombre + ", " + ColumnasConstantes.@colApellidos + "," + ColumnasConstantes.@colFechaNac + "," + ColumnasConstantes.@colDireccion + "," + ColumnasConstantes.@colTelefono + ")" + "Values (@Nombre, @Apellidos,@FechaNac,@Direccion,@Telefono)"; comando.Connection = conexion; resultado = comando.ExecuteNonQuery(); } catch (Exception) { throw; } finally { conexion.Close(); } return(resultado); }