Good I have the following code to consult and fill a DataGridView with the query but what I try is that if the data that user indicates as a filter does not match any BD record, I execute the Catch block but it does not
try
{
cn.Open();
string sql = "SELECT DISTINCT cabeza.Identificacion, cabeza.Id_solicitud as #Solicitud, cabeza.Fecha,cabeza.Estatus,detalle.Id_producto,detalle.Cantidad FROM Tab_solicitud_mercancia_cabeza AS cabeza INNER JOIN Tab_solicitud_mercancia_detalle AS detalle ON cabeza.Id_solicitud = detalle.Id_producto WHERE cabeza.Id_solicitud = '" + txtidsolicitud.Text + "'";
SqlCommand cmd = new SqlCommand(sql, cn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
dtgv.DataSource = dt;
}
catch (Exception ex)
{
DialogResult respuesta;
respuesta = MessageBox.Show("El dato ingresado no coincide con ningun registro. ¿Desea consultar el listado completo de solicitudes?", "Error En Consulta", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (respuesta == DialogResult.Yes)
{
Consultasolicitudmercancia frm = new Consultasolicitudmercancia();
frm.enviado += new Consultasolicitudmercancia.enviar(ejecutar);
frm.Show();
}
else
{
if (respuesta == DialogResult.No)
{
txtidsolicitud.Clear();
txtidsolicitud.Select();
}
}
}
finally
{
cn.Close();
}