/* * - RecuperarOpcionRespuestaEvaluda tiene la misión de recuperar las opciones evaluadas para una pregunta puntual * de a la BASE DE DATOS */ public OpciondeRespuesta recuperarOpcionRespuesta(string codigo_OR) { bool conexionExitosa; GestorOpRespuesta gestorOpcionResp = new GestorOpRespuesta(); OpciondeRespuesta retorno_OpRespuesta = null;//Para el retorno de datos string consultaSql = "SELECT * FROM `opcion de respuesta` opcRes " + "WHERE opcRes.codigo = '" + codigo_OR + "';"; conexionExitosa = iniciarConexion(); if (!conexionExitosa) { terminarConexion(); return null; } MySql.Data.MySqlClient.MySqlCommand comando; comando = ObjConexion.CreateCommand(); comando.CommandText = consultaSql; MySqlDataReader reader = comando.ExecuteReader(); if (!reader.HasRows) { //si el reader esta vacio, es qe no encontro a esa opcion de respuesta evaluada terminarConexion(); return null; } while (reader.Read()) { string nomOpcionResp = reader["nombre"].ToString(); string codigo = reader["codigo"].ToString(); retorno_OpRespuesta = gestorOpcionResp.instanciarOpcionDeRespuesta(nomOpcionResp, codigo); } terminarConexion(); return retorno_OpRespuesta; }
/* * - RecuperarOpcionesEvaludas tiene la misión de recuperar las opciones evaluadas para una pregunta puntual * de a la BASE DE DATOS */ public List<Opciones> recuperarOpciones(Pregunta pregAsociada) { bool conexionExitosa; GestorOpRespuesta gestionOpciones = new GestorOpRespuesta(); List<Opciones> listaDeOpciones = new List<Opciones>();//Para el retorno de datos string consultaSql = "SELECT DISTINCT op.nombre, pr_op.ponderacion, opr_op.ordenDeVisualizacion " + "FROM `pregunta_opciones` AS pr_op " + "JOIN `pregunta` AS pr on (pr_op.Pregunta_codigo = pr.codigo AND pr.nombre = '" + pregAsociada.Nombre + "' AND pr.pregunta = '" + pregAsociada.Preg_aRealizar + "') " + "JOIN `opciones` op on (pr_op.Opciones_idopciones = op.idopciones) " + "JOIN `opcion de respuesta_opciones` opr_op on (pr_op.Opciones_idopciones = opr_op.Opciones_idopciones) " + "GROUP BY nombre;"; //llamamos al metodo "iniciar conexion" conexionExitosa = iniciarConexion(); //Evaluamos si la conexion se realizo con exito if (!conexionExitosa) { MessageBox.Show("Fallo la conexion con la base de datos"); terminarConexion(); return null; } MySql.Data.MySqlClient.MySqlCommand comando; comando = ObjConexion.CreateCommand(); comando.CommandText = consultaSql; MySqlDataReader reader = comando.ExecuteReader(); if (!reader.HasRows) { //si el reader esta vacio, es qe no encontro a ese candidato terminarConexion(); return null; } while (reader.Read()) { //opc.nombre, opR_opc.ordenDeVisualizacion, pr.`idPregunta Evaluada` string nomOpcion = reader["nombre"].ToString(); int ponderacion = Int32.Parse(reader["ponderacion"].ToString()); int ordenVisualizacion = Int32.Parse(reader["ordenDeVisualizacion"].ToString()); Opciones preguntaEv = gestionOpciones.instanciarOpcion(nomOpcion, ponderacion, ordenVisualizacion); listaDeOpciones.Add(preguntaEv); } terminarConexion(); return listaDeOpciones; }