Erro asp.net c#

não consigo entender pq esta dizendo que o comando “cmd.ExecuteNonQuery();” não existe no contexto, alguem pode me ajudar? Segue abaixo o codigo

protected void btnSalvar_Click(object sender, EventArgs e)
{
    if (Page.IsValid)
    {

        string _sql_inc = "INSERT INTO usuarios" +
        " (USUA_NOME,USUA_STATUS,USUA_LOGIN,GRUP_CODIGO)" +
        " VALUES (@USUA_NOME,@USUA_STATUS,@USUA_LOGIN,@GRUP_CODIGO)";

        MySqlCommand cmd = new MySqlCommand(_sql_inc, conn);
        cmd.CommandType = CommandType.Text;
        cmd.Parameters.AddWithValue("@USUA_LOGIN", txtLogin.Text);
        cmd.Parameters.AddWithValue("@USUA_NOME", txtNome.Text);
        cmd.Parameters.AddWithValue("@USUA_STATUS", cboStatus.SelectedValue);
        cmd.Parameters.AddWithValue("@GRUP_CODIGO", cboGrupos.SelectedValue);
    }
    else
    {
         string _sql_inc = "UPDATE usuarios SET" +
        " USUA_NOME = @USUA_NOME, " +
        " USUA_STATUS = @USUA_STATUS, " +
        " USUA_LOGIN = @USUA_LOGIN, " +
        " GRUP_CODIGO = @GRUP_CODIGO " + 
        " WHERE USUA_CODIGO = @USUA_CODIGO ";

        MySqlCommand cmd = new MySqlCommand(_sql_inc, conn);
        cmd.CommandType = CommandType.Text;
        cmd.Parameters.AddWithValue("@USUA_LOGIN", txtLogin.Text);
        cmd.Parameters.AddWithValue("@USUA_NOME", txtNome.Text);
        cmd.Parameters.AddWithValue("@USUA_STATUS", cboStatus.SelectedValue);
        cmd.Parameters.AddWithValue("@GRUP_CODIGO", cboGrupos.SelectedValue);
        cmd.Parameters.AddWithValue("@USUA_CODIGO", grid.SelectedValue);

    }
        try
        {

            conn.Open();
            cmd.ExecuteNonQuery();

            MultiView1.ActiveViewIndex = 0;
            conn.Close();
            conn.Dispose();

            gvbind();
        }

        catch (Exception ex)
        {
            MessageBox1.ShowMessage("ERRO: " + ex.Message);
        }

        finally
        {
            conn.Close();
            conn.Dispose();
        }
    }

vamos la

via de regra, quando vc pode declarar uma variavel local eu um bloco de codigo, ela só é visivel dentro daquele bloco.

vc define uma variavel cmd dentro do if e outra variavel cmd no else. não tem como ver essas variaveis foram dos seus respectivos blocos.

Se vc mover isso para antes do if / else, entao sera visivel

Poderia me mostrar como fica pfv? ainda sou novo em desenvolvimento

eu expliquei: coloca aquela linha fora do if / else , de preferencia antes do if