en mi Form tengo 6 combobox y los 6 están en mi comparación dentro del where para la comparación, pero en este caso esta mal para lo que quiero.
lo que pretendo es que haga varias tipos de búsquedas (o búsqueda inteligente o como se llame) ya sea que solo con el combobox de Departamentos (iddpto) y el de Materia (idmate) me muestre todos los valores que está en mi consulta. Pero después otra búsqueda con la comparación de con Periodo (idperi) con Departamento y con el grupo (grupo) y todas las combinaciones que se pueda.
un maestro me comentó que para hacer esto lo podía hacer de esta forma, que el comando.commandText lo meta en varios if anidados, la verdad no tengo idea de como.
ayuda porfis...
Código:
public void cargarActas() { string cadenaconexion = @"Data Source=IRVIN-PC;Initial Catalog=itiz;Integrated Security=True"; SqlConnection conexion = new SqlConnection(); SqlCommand comando = new SqlCommand(); SqlDataReader dr; conexion.ConnectionString = cadenaconexion; comando.Connection = conexion; comando.CommandText = "select idacta, PE.nombrePeriodo, DE.nombreDpto, MA.nombreMateria, PR.nombreProfesor, TS.nombreTipoSemestre, grupo, clave, folio, ruta " + "from Actas A join Periodos PE on A.idperi = PE.idperi " + "join Departamentos DE on A.iddpto = DE.iddpto " + "join Materias MA on A.idmate = MA.idmate " + "join Profesores PR on A.idprofe = PR.idprofe " + "join TipoSemestre TS on A.idtiposem = TS.idtiposem " + "where idperi= '" + comboBox1.SelectedValue + "' and iddpto= '" + comboBox2.SelectedValue + "' and idmate= '" + comboBox3.SelectedValue + "' and idprofe= '" + comboBox4.SelectedValue + "' and idtiposem= '" + comboBox5.SelectedValue + "' and idgrupo= '" + comboBox6.SelectedValue + "'"; comando.CommandType = CommandType.Text; conexion.Open(); dgvActas.Rows.Clear(); dr = comando.ExecuteReader(); while (dr.Read()) { int renglon = dgvActas.Rows.Add(); dgvActas.Rows[renglon].Cells["id_acta"].Value = dr.GetInt32(dr.GetOrdinal("idacta")).ToString(); dgvActas.Rows[renglon].Cells["id_peri"].Value = dr.GetString(dr.GetOrdinal("nombrePeriodo")); dgvActas.Rows[renglon].Cells["id_dpto"].Value = dr.GetString(dr.GetOrdinal("nombreDpto")); dgvActas.Rows[renglon].Cells["id_mate"].Value = dr.GetString(dr.GetOrdinal("nombreMateria")); dgvActas.Rows[renglon].Cells["id_profe"].Value = dr.GetString(dr.GetOrdinal("nombreProfesor")); dgvActas.Rows[renglon].Cells["id_tiposem"].Value = dr.GetString(dr.GetOrdinal("nombreTipoSemestre")); dgvActas.Rows[renglon].Cells["grupo"].Value = dr.GetString(dr.GetOrdinal("grupo")); dgvActas.Rows[renglon].Cells["clave"].Value = dr.GetString(dr.GetOrdinal("clave")); dgvActas.Rows[renglon].Cells["folio"].Value = dr.GetString(dr.GetOrdinal("folio")); dgvActas.Rows[renglon].Cells["ruta"].Value = dr.GetString(dr.GetOrdinal("ruta")); } conexion.Close(); }