Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/02/2011, 13:03
eloy_ameneiros
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Crear consulta SQL según checkbox marcados

El problema es que antes tenía radiobuttons en vez de checkbox, por lo que la programación era fácil.

Ahora mismo no tengo programada esa parte, ya que está el código para los radiobuttons, pero supongo que sería recorriendo todos los check del form y viendo cual está marcado para poder agregarlo al select de SQL.

El código que tengo es el siguiente:

private void bt_buscar_Click(object sender, EventArgs e)
{
bt_buscar.Enabled = false;
if (chk_login.Checked == false && chk_telefono.Checked == false && chk_nomtit.Checked == false && chk_fecha.Checked == false &&
chk_codllam.Checked == false && chk_carga.Checked == false)
{
MessageBox.Show("Seleccione un criterio de búsqueda.", "ERROR");
}
else if (chk_login.Checked == true)
{
dt = new DataTable();
string login = txt_login.Text;
string consultaLogin = "SELECT * FROM PREP.PCO_OUTBOUNDQUEUE WHERE LASTAGENT = '" + login + "'";
try
{
da = new SqlDataAdapter(consultaLogin, conexion);
conexion.Open();
da.Fill(dt);
dgv_info.DataSource = dt;
conexion.Close();
}
catch (Exception ex)
{
MessageBox.Show("Se ha producido el siguiente error: " + ex.Message, "ERROR");
}
finally
{
if (conexion.State == ConnectionState.Open)
{
conexion.Close();
}
}
}
else if (chk_telefono.Checked == true)
{
dt = new DataTable();
string telefono = txt_telefono.Text;
string consultaTelefono = "SELECT * FROM PREP.PCO_OUTBOUNDQUEUE WHERE PHONE LIKE '%" + telefono + "%'";
try
{
da = new SqlDataAdapter(consultaTelefono, conexion);
conexion.Open();
da.Fill(dt);
dgv_info.DataSource = dt;
conexion.Close();
}
catch (Exception ex)
{
MessageBox.Show("Se ha producido el siguiente error: " + ex.Message, "ERROR");
}
finally
{
if (conexion.State == ConnectionState.Open)
{
conexion.Close();
}
}
}
else if (chk_nomtit.Checked == true)
{
dt = new DataTable();
string nomtit = txt_nomtit.Text;
string consultaNomtit = "SELECT * FROM PREP.PCO_OUTBOUNDQUEUE WHERE NAME LIKE '%" + nomtit + "%'";
try
{
da = new SqlDataAdapter(consultaNomtit, conexion);
conexion.Open();
da.Fill(dt);
dgv_info.DataSource = dt;
conexion.Close();
}
catch (Exception ex)
{
MessageBox.Show("Se ha producido el siguiente error: " + ex.Message, "ERROR");
}
finally
{
if (conexion.State == ConnectionState.Open)
{
conexion.Close();
}
}
}
else if (chk_fecha.Checked == true)
{
dt = new DataTable();
DateTime fecha = dtp_fecha.Value;
DateTime fecha1 = fecha.AddDays(1);
string consultaFecha = "SELECT * FROM PREP.PCO_OUTBOUNDQUEUE WHERE LASTHANDLINGDATE >= '" + fecha + "' AND LASTHANDLINGDATE <= '" + fecha1 + "'";
try
{
da = new SqlDataAdapter(consultaFecha, conexion);
conexion.Open();
da.Fill(dt);
dgv_info.DataSource = dt;
conexion.Close();
}
catch (Exception ex)
{
MessageBox.Show("Se ha producido el siguiente error: " + ex.Message, "ERROR");
}
finally
{
if (conexion.State == ConnectionState.Open)
{
conexion.Close();
}
}
}
else if (chk_codllam.Checked == true)
{
dt = new DataTable();
string codllam = txt_codllam.Text;
string consultaCodllam = "SELECT * FROM PREP.PCO_OUTBOUNDQUEUE WHERE LASTQCODE = '" + codllam + "'";
try
{
da = new SqlDataAdapter(consultaCodllam, conexion);
conexion.Open();
da.Fill(dt);
dgv_info.DataSource = dt;
conexion.Close();
}
catch (Exception ex)
{
MessageBox.Show("Se ha producido el siguiente error: " + ex.Message, "ERROR");
}
finally
{
if (conexion.State == ConnectionState.Open)
{
conexion.Close();
}
}
}
else if (chk_carga.Checked == true)
{
dt = new DataTable();
string carga = txt_carga.Text;
string consultaCarga = "SELECT * FROM PREP.PCO_OUTBOUNDQUEUE WHERE LOADID = '" + carga + "'";
try
{
da = new SqlDataAdapter(consultaCarga, conexion);
conexion.Open();
da.Fill(dt);
dgv_info.DataSource = dt;
conexion.Close();
}
catch (Exception ex)
{
MessageBox.Show("Se ha producido el siguiente error: " + ex.Message, "ERROR");
}
finally
{
if (conexion.State == ConnectionState.Open)
{
conexion.Close();
}
}
}
bt_buscar.Enabled = true;
}