public List <clsMateria> traerMaterias(string idCarrera) { var dato = new clsCapaDeAcceso(); var lista = new List <clsMateria>(); try { //EN ESTA CONSULTA SE TRAE TODAS LAS MATERIAS QUE CORRESPONDEN A LA CARRERA QUE SE ENVIA POR PARAMETRO Y QUE NO ESTAN SUSPENDIDAS dato.cargarComandoText("SELECT M.CodigoMateria,M.Descripcion AS MATERIA FROM MATERIAS M INNER JOIN CARRERAS C ON C.CodigoCarrera=M.CodigoCarrera WHERE C.CodigoCarrera=@idCarrera and c.Suspendido=0 ORDER BY M.Descripcion ASC"); //CREAMOS UN DICCIONARIO DE PARAMETROS PARA EVITAR TENER QUE CONCATENAR VALORES EN EL QUERY var dic = new Dictionary <string, string>(); //EL PRIMER VALOR ES EL NOMBRE DEL PARAMETRO (SIN EL @) Y EL SEGUNDO ES EL VALOR DE DICHO PARAMETRO dic.Add("idCarrera", idCarrera); dato.cargarComandoParametros(dic); dato.conectarse(); dato.ejecutarQuery(); while (dato.Lector.Read()) { var materia = new clsMateria(); materia.IdMateria = dato.Lector.GetString(0); materia.Materia = dato.Lector.GetString(1); lista.Add(materia); } return(lista); } catch (Exception ex) { throw ex; } }