private bool validaDatos(int idModifica) { if (String.IsNullOrEmpty(txtCicloEscolar.Text) || String.IsNullOrWhiteSpace(txtCicloEscolar.Text)) { MessageBox.Show("El ciclo escolar es obligatorio", "Datos Incompletos", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } if (String.IsNullOrEmpty(txtGrupo.Text) || String.IsNullOrWhiteSpace(txtGrupo.Text)) { MessageBox.Show("El grupo es obligatorio", "Datos Incompletos", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } CBaseDatos db = new CBaseDatos(); DataSet ds = db.consulta("SELECT * FROM Horarios.Grupo WHERE Ciclo_Escolar = '" + txtCicloEscolar.Text + "' AND Semestre = " + numSemestre.Value + " AND Grupo = '" + txtGrupo.Text + "' AND Id_Grupo != " + idModifica); if (ds.Tables[0].Rows.Count > 0) { MessageBox.Show("El grupo que se intenta registrar ya existe", "Datos duplicados", MessageBoxButtons.OK, MessageBoxIcon.Warning); db.Dispose(); return(false); } db.Dispose(); return(true); }
private void agregaGruposTabla(String semestres, String anio) { CBaseDatos db = new CBaseDatos(); String query = "SELECT CAST(G.Semestre AS VARCHAR(5)) + G.Grupo AS Grupo "; query += "FROM Horarios.Grupo G "; query += "WHERE G.Ciclo_Escolar LIKE '%" + anio + "%' AND Semestre IN (" + semestres + ")"; DataSet ds = db.consulta(query); if (ds != null) { foreach (DataRow dr in ds.Tables[0].Rows) { gridHorario.Columns.Add(dr["Grupo"].ToString(), dr["Grupo"].ToString()); gridHorario.Columns[dr["Grupo"].ToString()].SortMode = DataGridViewColumnSortMode.NotSortable; } } else { MessageBox.Show("Ha ocurrido un error en la conexión a la base de datos, por favor consulte al administrador del sistema", "Error en conexión a Base de Datos", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } db.Dispose(); }
private bool validaDuplicados(int idModifica) { String horaIni = dtHoraInicio.Value.ToString("HH:mm"); String horaFin = dtHoraFin.Value.ToString("HH:mm"); CBaseDatos db = new CBaseDatos(); DataSet ds = db.consulta("SELECT * FROM Horarios.Hora_Clase WHERE Hora_Inicio = '" + horaIni + "' AND Hora_Fin = '" + horaFin + "' AND Id_Hora_Clase != " + idModifica); if (ds.Tables[0].Rows.Count > 0) { MessageBox.Show("Ya existe una hora clase con las mismas horas de inicio y de fin", "Datos duplicados", MessageBoxButtons.OK, MessageBoxIcon.Warning); db.Dispose(); return(false); } //Validaciones para horas entre horas ya registradas ds = db.consulta("SELECT * FROM Horarios.Hora_Clase WHERE Hora_Inicio < '" + horaIni + "' AND Hora_Fin > '" + horaIni + "' AND Id_Hora_Clase != " + idModifica); if (ds.Tables[0].Rows.Count > 0) { MessageBox.Show("La hora de inicio no puede estar entre otras horas clase ya registradas", "Datos duplicados", MessageBoxButtons.OK, MessageBoxIcon.Warning); db.Dispose(); return(false); } ds = db.consulta("SELECT * FROM Horarios.Hora_Clase WHERE Hora_Inicio < '" + horaFin + "' AND Hora_Fin > '" + horaFin + "' AND Id_Hora_Clase != " + idModifica); if (ds.Tables[0].Rows.Count > 0) { MessageBox.Show("La hora de fin no puede estar entre horas clase ya registradas", "Datos duplicados", MessageBoxButtons.OK, MessageBoxIcon.Warning); db.Dispose(); return(false); } db.Dispose(); return(true); }
private void agregaClasesTabla(String dia, String semestres, String anio) { CBaseDatos db = new CBaseDatos(); String query = ""; String hora_ini = ""; DataSet ds = null; foreach (DataGridViewRow row in gridHorario.Rows) { hora_ini = row.HeaderCell.Value.ToString(); query = "SELECT M.Nombre AS Materia, P.Nombre As Prof, CAST(G.Semestre AS VARCHAR(5)) + G.Grupo AS Grupo "; query += "FROM Horarios.Horario H "; query += "INNER JOIN Horarios.Materia M ON M.Id_Materia = H.Id_Materia "; query += "INNER JOIN Horarios.Profesor P ON P.Id_Profesor = H.Id_Profesor "; query += "INNER JOIN Horarios.Grupo G ON G.Id_Grupo = H.Id_Grupo "; query += "INNER JOIN Horarios.Hora_Clase HC ON HC.Id_Hora_Clase = H.Id_Hora_Clase "; query += "WHERE H.Dia_Semana LIKE '%" + dia + "%' AND G.Ciclo_Escolar LIKE '%" + anio + "%' AND G.Semestre IN (" + semestres + ") "; query += "AND HC.Hora_Inicio = '" + hora_ini + "'"; ds = db.consulta(query); foreach (DataRow dr in ds.Tables[0].Rows) { row.Cells[dr["Grupo"].ToString()].Value = dr["Materia"].ToString() + Environment.NewLine + dr["Prof"].ToString(); } } }
public void baja_Horario(int idHorario) { CBaseDatos db = new CBaseDatos(); db.sql("DELETE FROM Horarios.Horario WHERE Id_Horario = " + idHorario); db.Dispose(); limpiaControles(); }
public void alta_Profesor() { if (validaDatos()) { CBaseDatos db = new CBaseDatos(); db.sql("INSERT INTO Horarios.Profesor(Nombre, Direccion, Telefono, Fecha_Nacimiento, RFC, Firma) VALUES('" + txtNombre.Text + "' , '" + txtDireccion.Text + "', '" + txtTelefono.Text + "', '" + dtFechaNac.Text + "', '" + txtRFC.Text + "', '" + txtFirma.Text + "')"); db.Dispose(); } inicializaControles(); }
private void cargaComboHorasClase() { CBaseDatos bd = new CBaseDatos(); DataSet ds = bd.consulta("SELECT Id_Hora_Clase, CONVERT(varchar(10), Hora_Inicio, 100) + ' - ' + CONVERT(VARCHAR(10), Hora_Fin, 100) AS HORARIO FROM Horarios.Hora_Clase"); cbHoraClase.DataSource = ds.Tables[0]; cbHoraClase.ValueMember = "Id_Hora_Clase"; cbHoraClase.DisplayMember = "HORARIO"; bd.Dispose(); }
private void cargaComboMaterias() { CBaseDatos bd = new CBaseDatos(); DataSet ds = bd.consulta("SELECT Id_Materia, Nombre FROM Horarios.Materia"); cbMateria.DataSource = ds.Tables[0]; cbMateria.ValueMember = "Id_Materia"; cbMateria.DisplayMember = "Nombre"; bd.Dispose(); }
private void cargaComboGrupos() { CBaseDatos bd = new CBaseDatos(); DataSet ds = bd.consulta("SELECT Id_Grupo, Ciclo_Escolar + '/' + cast(Semestre AS VARCHAR(2)) + Grupo AS nombreGrupo FROM Horarios.Grupo"); cbGrupos.DataSource = ds.Tables[0]; cbGrupos.ValueMember = "Id_Grupo"; cbGrupos.DisplayMember = "nombreGrupo"; bd.Dispose(); }
public void modifica_Profesor(int idProfesor) { if (validaDatos()) { CBaseDatos db = new CBaseDatos(); db.sql("UPDATE Horarios.Profesor SET Nombre = '" + txtNombre.Text + "', Direccion = '" + txtDireccion.Text + "', Telefono = '" + txtTelefono.Text + "', Fecha_Nacimiento = '" + dtFechaNac.Text + "', RFC = '" + txtRFC.Text + "', Firma = '" + txtFirma.Text + "' WHERE Id_Profesor = " + idProfesor); db.Dispose(); } inicializaControles(); }
public void alta_Hora_Clase() { if (validaDatos(-1)) { CBaseDatos db = new CBaseDatos(); db.sql("INSERT INTO Horarios.Hora_Clase(Hora_Inicio, Hora_Fin) VALUES('" + dtHoraInicio.Value.ToString("HH:mm") + "', '" + dtHoraFin.Value.ToString("HH:mm") + "')"); db.Dispose(); } inicializaControles(); }
private void wdwReporte_Load(object sender, EventArgs e) { CBaseDatos bd = new CBaseDatos(); DataSet dataCiclos = bd.consulta("SELECT DISTINCT(Ciclo_Escolar) FROM Horarios.Grupo"); this.cbciclos.DataSource = dataCiclos.Tables[0]; this.cbciclos.DisplayMember = "Ciclo_Escolar"; this.cbciclos.ValueMember = "Ciclo_Escolar"; bd.Dispose(); }
private void cargaComboProfesores(String dia, String semestres, String anio) { CBaseDatos bd = new CBaseDatos(); DataSet ds = bd.consulta("SELECT Id_Profesor, Nombre FROM Horarios.Profesor"); cbProfesor.DataSource = ds.Tables[0]; cbProfesor.ValueMember = "Id_Profesor"; cbProfesor.DisplayMember = "Nombre"; bd.Dispose(); }
public void modifica_HoraClase(int idHoraClase) { if (validaDatos(idHoraClase)) { CBaseDatos db = new CBaseDatos(); db.sql("UPDATE Horarios.Hora_Clase SET Hora_Inicio = '" + dtHoraInicio.Value.ToString("HH:mm") + "', Hora_Fin = '" + dtHoraFin.Value.ToString("HH:mm") + "' WHERE Id_Hora_Clase = " + idHoraClase); db.Dispose(); } inicializaControles(); }
public void modifica_Horario(int idHorario) { if (validaDatos(idHorario)) { String diaSemana = generaCadenaDias(); CBaseDatos db = new CBaseDatos(); db.sql("UPDATE Horarios.Horario SET Id_Hora_Clase = " + cbHoraClase.SelectedValue + ", Id_Grupo = " + cbGrupos.SelectedValue + ", Id_Materia = " + cbMateria.SelectedValue + ", Id_Profesor = " + cbProfesor.SelectedValue + ", Dia_Semana = '" + diaSemana + "' WHERE Id_Horario = " + idHorario); db.Dispose(); } limpiaControles(); }
public void alta_Horario() { if (validaDatos(-1)) { String diaSemana = generaCadenaDias(); CBaseDatos db = new CBaseDatos(); db.sql("INSERT INTO Horarios.Horario(Id_Hora_Clase, Id_Grupo, Id_Materia, Id_Profesor, Dia_Semana) VALUES(" + cbHoraClase.SelectedValue + ", " + cbGrupos.SelectedValue + ", " + cbMateria.SelectedValue + ", " + cbProfesor.SelectedValue + ", '" + diaSemana + "')"); db.Dispose(); } limpiaControles(); }
private void btnRegistrar_Click(object sender, EventArgs e) { if (this.validaDatos()) { string fecha = DateTime.Now.ToString("dd/MM/yyyy"); string hora = DateTime.Now.TimeOfDay.ToString(); string firma = this.txtFirma.Text; CBaseDatos db = new CBaseDatos(); db.sql("INSERT INTO ControlPagos.Registro_Asistencia(Id_Horario, Fecha, Hora, Firma) VALUES(" + idHorario + ", '" + fecha + "', '" + hora + "', '" + firma + "')"); db.Dispose(); MessageBox.Show("Se registró la asistencia con éxito", "Registro asistencia", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public void modifica_Grupo(int idGrupo) { if (validaDatos(idGrupo)) { CBaseDatos db = new CBaseDatos(); SqlException error = db.sql("UPDATE Horarios.Grupo SET Ciclo_Escolar = '" + txtCicloEscolar.Text + "', Semestre = " + Convert.ToInt32(numSemestre.Value) + ", Grupo = '" + txtGrupo.Text + "' WHERE Id_Grupo = " + idGrupo); db.Dispose(); if (error != null) { MessageBox.Show("Por regla en base de datos el grupo solo puede ser A,B o C, favor de verificarlo", "Edición Grupo", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } inicializaControles(); }
public void alta_Materia() { if (validaDatos()) { CBaseDatos db = new CBaseDatos(); SqlException error = db.sql("INSERT INTO Horarios.Materia(Nombre, Num_Horas_Clase) VALUES('" + txtNombre.Text + "' , " + Convert.ToInt32(numHorasClase.Value) + ")"); db.Dispose(); if (error != null) { MessageBox.Show("No se puede insertar un nombre de materia duplicado: " + txtNombre.Text, "Alta Materia", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } inicializaControles(); }
public void modifica_Materia(int idMateria) { if (validaDatos()) { CBaseDatos db = new CBaseDatos(); SqlException error = db.sql("UPDATE Horarios.Materia SET Nombre = '" + txtNombre.Text + "', Num_Horas_Clase = " + Convert.ToInt32(numHorasClase.Value) + " WHERE Id_Materia = " + idMateria); db.Dispose(); if (error != null) { MessageBox.Show("Un nombre de materia no puede estar duplicado: " + txtNombre.Text, "Edición Materia", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } inicializaControles(); }
public void alta_Grupo() { if (validaDatos(-1)) { CBaseDatos db = new CBaseDatos(); SqlException error = db.sql("INSERT INTO Horarios.Grupo(Ciclo_Escolar, Semestre, Grupo) VALUES('" + txtCicloEscolar.Text + "', " + Convert.ToInt32(numSemestre.Value) + ", '" + txtGrupo.Text + "' )"); db.Dispose(); if (error != null) { MessageBox.Show("Por regla en base de datos el grupo solo puede ser A,B o C, favor de verificarlo", "Alta Grupo", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } inicializaControles(); }
private void btnReporte_Click(object sender, EventArgs e) { CBaseDatos bd = new CBaseDatos(); String query = "SELECT * FROM Horarios.Materia "; query += "WHERE Id_Materia IN("; query += "SELECT DISTINCT (M.Id_Materia) "; query += "FROM Horarios.Materia M "; query += "INNER JOIN Horarios.Horario H ON H.Id_Materia = M.Id_Materia "; query += "INNER JOIN Horarios.Grupo G On H.Id_Grupo = G.Id_Grupo "; query += "WHERE G.Ciclo_Escolar = '" + this.cbciclos.SelectedValue.ToString() + "')"; DataSet dataMaterias = bd.consulta(query); this.gridMaterias.DataSource = dataMaterias.Tables[0]; }
public void baja_Profesor(int idProfesor) { CBaseDatos db = new CBaseDatos(); DataSet ds = db.consulta("SELECT * FROM Horarios.Horario WHERE Id_Profesor = " + idProfesor); if (ds.Tables[0].Rows.Count > 0) { MessageBox.Show("No se puede eliminar el profesor ya que esta asignado a un horario", "Eliminación Profesor", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { db.sql("DELETE FROM Horarios.Profesor WHERE Id_Profesor = " + idProfesor); inicializaControles(); } db.Dispose(); }
public void baja_HoraClase(int idHoraClase) { CBaseDatos db = new CBaseDatos(); DataSet ds = db.consulta("SELECT * FROM Horarios.Horario WHERE Id_Hora_Clase = " + idHoraClase); if (ds.Tables[0].Rows.Count > 0) { MessageBox.Show("No se puede eliminar la hora-clase porque está asignada a un horario", "Eliminación Hora-Clase", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { db.sql("DELETE FROM Horarios.Hora_Clase WHERE Id_Hora_Clase = " + idHoraClase); inicializaControles(); } db.Dispose(); }
public void baja_Materia(int idMateria) { CBaseDatos db = new CBaseDatos(); DataSet ds = db.consulta("SELECT * FROM Horarios.Horario WHERE Id_Materia = " + idMateria); if (ds.Tables[0].Rows.Count > 0) { MessageBox.Show("No se puede eliminar la materia por que esta asignada a un horario", "Eliminación Materia", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { db.sql("DELETE FROM Horarios.Materia WHERE Id_Materia = " + idMateria); } inicializaControles(); db.Dispose(); }
public void baja_Grupo(int idGrupo) { CBaseDatos db = new CBaseDatos(); DataSet ds = db.consulta("SELECT * FROM Horarios.Horario WHERE Id_Grupo = " + idGrupo); if (ds.Tables[0].Rows.Count > 0) { MessageBox.Show("No se puede eliminar el grupo porque está asignado a un horario", "Eliminación Grupo", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { db.sql("DELETE FROM Horarios.Grupo WHERE Id_Grupo = " + idGrupo); inicializaControles(); } db.Dispose(); }
private void agregaHorasTabla() { CBaseDatos db = new CBaseDatos(); String query = "SELECT CONVERT(varchar(10), HC.Hora_Inicio, 100) AS Hora "; query += "FROM Horarios.Hora_Clase HC"; DataSet ds = db.consulta(query); int i = 0; foreach (DataRow dr in ds.Tables[0].Rows) { gridHorario.Rows.Add(); gridHorario.Rows[i].HeaderCell.Value = dr["Hora"]; i++; } db.Dispose(); }
private bool validaDatosUnicosProfesor(int idModifica) { int idHoraClase = Convert.ToInt32(cbHoraClase.SelectedValue); int idProfesor = Convert.ToInt32(cbProfesor.SelectedValue); string cadenaDias = generaCadenaDias(); CBaseDatos db = new CBaseDatos(); DataSet ds = db.consulta("SELECT * FROM Horarios.Horario WHERE Id_Hora_Clase = " + idHoraClase + " AND Id_Profesor = " + idProfesor + " AND Id_Horario != " + idModifica); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow r in ds.Tables[0].Rows) { if (!comparaDiasHoraClase(r["Dia_Semana"].ToString(), cadenaDias, false)) { db.Dispose(); return(false); } } } db.Dispose(); return(true); }
private bool validaDatos() { if (cbProfesor.SelectedValue == null) { MessageBox.Show("Debe seleccionar un profesor para registrar su asistencia", "Registro de asistenacia", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } if (String.IsNullOrEmpty(txtFirma.Text) || String.IsNullOrWhiteSpace(txtFirma.Text)) { MessageBox.Show("Debe ingresar la firma del profesor para registrar su asistencia", "Registro de asistencia", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } CBaseDatos db = new CBaseDatos(); long idProfesor = Convert.ToInt64(cbProfesor.SelectedValue); String hora = DateTime.Now.TimeOfDay.ToString(); String dia = obtenDiaActual(); String semestres = obtenSemestresActuales(); String anio = DateTime.Now.Year.ToString(); String query = "SELECT * FROM Horarios.Horario H "; query += "INNER JOIN Horarios.Grupo G ON G.Id_Grupo = H.Id_Grupo "; query += "INNER JOIN Horarios.Profesor P ON P.Id_Profesor = H.Id_Profesor "; query += "INNER JOIN Horarios.Hora_Clase HC ON HC.Id_Hora_Clase = H.Id_Hora_Clase "; query += "WHERE G.Ciclo_Escolar LIKE '%" + anio + "%' AND H.Dia_Semana LIKE '%" + dia + "%' AND G.Semestre IN (" + semestres + ") "; query += "AND P.Id_Profesor = " + idProfesor + " AND DATEADD(minute, -15, HC.Hora_Inicio) <= '" + hora + "' AND DATEADD(minute, -15, HC.Hora_Fin) >= '" + hora + "'"; DataSet ds = db.consulta(query); if (ds.Tables[0].Rows.Count == 0) { db.Dispose(); MessageBox.Show("El profesor no tiene una clase en esta hora, no se puede registrar su asistencia", "Registro de asistenacia", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } else { if (ds.Tables[0].Rows[0]["Firma"].ToString() != this.txtFirma.Text) { db.Dispose(); MessageBox.Show("La firma del profesor no es correcta, por favor ingrese la firma correcta", "Registro de asistencia", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } if (ds.Tables[0].Rows.Count > 1) { db.Dispose(); MessageBox.Show("Incongruencia en la información, existen mas de una clase asignadas al profesor", "Registro de asistencia", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } else { //db.Dispose(); //CBaseDatos db2 = new CBaseDatos(); idHorario = Convert.ToInt32(ds.Tables[0].Rows[0]["Id_Horario"]); String hoy = DateTime.Now.ToString("dd/MM/yyyy"); String query2 = "SELECT * FROM ControlPagos.Registro_Asistencia WHERE Id_Horario = " + idHorario + " AND Fecha = '" + hoy + "' AND Hora BETWEEN CONVERT(VARCHAR(5), DATEADD(minute, -15, '" + ds.Tables[0].Rows[0]["Hora_Inicio"].ToString() + "'), 108) AND CONVERT(VARCHAR(5), DATEADD(minute, -15, '" + ds.Tables[0].Rows[0]["Hora_Fin"].ToString() + "'), 108)"; DataSet ds2 = db.consulta(query2); if (ds2.Tables[0].Rows.Count > 0) { db.Dispose(); MessageBox.Show("Ya se registró una asistencia en esta clase para el profesor", "Registro asistencia", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } db.Dispose(); } } return(true); }
private void actualizaDatosGrid() { DataSet ds; CBaseDatos bd = new CBaseDatos(); switch (opcion) { case 1: gbTituloDatos.Text = "Profesores"; ds = bd.consulta("SELECT * FROM Horarios.Profesor"); if (ds != null) { gridViewDatos.DataSource = ds.Tables[0]; gridViewDatos.Columns["id_Profesor"].HeaderText = "Id Profesor"; gridViewDatos.Columns["Direccion"].HeaderText = "Dirección"; gridViewDatos.Columns["Fecha_Nacimiento"].HeaderText = "Fecha de Nacimiento"; gridViewDatos.Columns["Horas_Semanales"].HeaderText = "Horas Semanales"; } else { muestraMensajeErrConexion(); } break; case 2: gbTituloDatos.Text = "Materias"; ds = bd.consulta("SELECT * FROM Horarios.Materia"); if (ds != null) { gridViewDatos.DataSource = ds.Tables[0]; gridViewDatos.Columns["Id_Materia"].HeaderText = "Id Materia"; gridViewDatos.Columns["Num_Horas_Clase"].HeaderText = "Numero de Horas Clase"; } else { muestraMensajeErrConexion(); } break; case 3: gbTituloDatos.Text = "Grupos"; ds = bd.consulta("SELECT * FROM Horarios.Grupo"); if (ds != null) { gridViewDatos.DataSource = ds.Tables[0]; gridViewDatos.Columns["Id_Grupo"].HeaderText = "Id Grupo"; gridViewDatos.Columns["Ciclo_Escolar"].HeaderText = "Ciclo Escolar"; } else { muestraMensajeErrConexion(); } break; case 4: gbTituloDatos.Text = "Horas Clase"; ds = bd.consulta("SELECT Id_Hora_Clase, CONVERT(varchar(10), Hora_Inicio, 100) AS Hini, CONVERT(varchar(10), Hora_Fin, 100) AS Hfin FROM Horarios.Hora_Clase"); if (ds != null) { gridViewDatos.DataSource = ds.Tables[0]; gridViewDatos.Columns["Id_Hora_Clase"].HeaderText = "Id Hora Clase"; gridViewDatos.Columns["Hini"].HeaderText = "Hora Inicio"; gridViewDatos.Columns["Hfin"].HeaderText = "Hora Fin"; } else { muestraMensajeErrConexion(); } break; case 5: gbTituloDatos.Text = "Horarios"; String query = "SELECT H.Id_Horario, CONVERT(varchar(10), Hora_Inicio, 100) + ' - ' + CONVERT(VARCHAR(10), Hora_Fin, 100) AS HoraClase, G.Ciclo_Escolar + '/' + CAST(G.Semestre AS VARCHAR(2)) + G.Grupo AS Grupo, M.Nombre AS Materia, P.Nombre AS Profesor, H.Dia_Semana "; query += "FROM Horarios.Horario H INNER JOIN Horarios.Hora_Clase HC ON HC.Id_Hora_Clase = H.Id_Hora_Clase INNER JOIN Horarios.Grupo G ON G.Id_Grupo = H.Id_Grupo INNER JOIN Horarios.Materia M ON M.Id_Materia = H.Id_Materia INNER JOIN Horarios.Profesor P ON P.Id_Profesor = H.Id_Profesor"; ds = bd.consulta(query); if (ds != null) { gridViewDatos.DataSource = ds.Tables[0]; gridViewDatos.Columns["Id_Horario"].HeaderText = "Id Horario"; gridViewDatos.Columns["HoraClase"].HeaderText = "Hora-Clase"; gridViewDatos.Columns["Dia_Semana"].HeaderText = "Dia Semana"; } else { muestraMensajeErrConexion(); } break; } bd.Dispose(); if (gridViewDatos.SelectedRows.Count > 0) { gridViewDatos.SelectedRows[0].Selected = false; } }