Hola implemento un formulario que cargo un registro en una base de datos. Al hacer click en el buttoms aceptar compruebo que la clave del registro no exista con una ya cargado , si existe me da un mensaje de error , si no existe me cierra el formulario poniendo la propiedad
this.button_aceptar.DialogResult = DialogResult.Yes , ya que necesito controlar desde el formulario padre que lo llamo si fue aceptada la informacion nueve introducida.
Ahora tengo el problema que con un clik no se cierra el formulario necesito presionar dos veces , no encuentro el error , si alguien me puede ayudar con una implementacion similar.
private void button_aceptar_Click(object sender, EventArgs e)
{
SqlConnection nueva_conecion = new SqlConnection();
nueva_conecion.ConnectionString = Biblioteca.Properties.Settings.Default.sistema_materialesConnectionString;
SqlCommand command = new SqlCommand();
command.Connection = nueva_conecion;
command.CommandText = "select id_material from dbo.Material where id_material='" + id_material.Text+ "' and id_categoria='" + combo_categoria.Text + "'";
SqlDataReader reader;
bool band_buscar;
try
{
nueva_conecion.Open();
reader = command.ExecuteReader();
if (reader.HasRows)
{
MessageBox.Show("Ya existe un material cargado con ese ISBN , elija otro por favor");
id_material.Text = String.Empty;
id_material.Focus();
}
else
{
this.button_aceptar.DialogResult = DialogResult.Yes;
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}finally
{
nueva_conecion.Close();
}
}