Por qué ExecuteScalar requiere una conexión abierta y disponible. El estado actual de la conexión está cerrado. Por favor responda. Gracias.
1. SqlConnection con = new SqlConnection(strConn);
----->Es mejor agregar con.open() para abrir la conexión de la base de datos
SqlCommand cmd = new SqlCommand( "SELECCIONE GoodsID DE KCB DONDE GoodsID='" + this.txtGoodsID.Text.Trim() + "'", con);
if (cmd.ExecuteScalar() != null)
2. Prueba también aquí
{
con.Open();
cmd.ExecuteNonQuery();
cmd1.ExecuteNonQuery();
con.Close();---> no debe colocarse aquí para cerrar, sino que debe escribirse finalmente
}
catch (Exception ex )
{
MessageBox.Show(ex.ToString());
}
finalmente
{
MostrarInfo();
}