Object reference not set to an instance of an asp.net object

0

blz? Next, I'm having a problem with the "Object reference not set to an instance of an object" exception, I've already searched for several solutions, however, none satisfies and / or fixes my problem. If someone can help me ...

string usuario;
protected void Page_Load(object sender, EventArgs e) {

  //Área referente a consulta na base de dados em relação as metas da operadora

  SqlConnection conexao = new SqlConnection(@ "Data Source=.\SQLEXPRESS;Initial Catalog=DB_COOPERATIVE;Integrated Security=True;"); //Definição da string de conexão
  conexao.Open(); //É aberto a conexão com a base de dados

  //Recuperar o código da pessoa através de seu nome
  SqlCommand comandos2 = new SqlCommand("SELECT CODIGO_FUNCIONARIO from USUARIO where LOGIN_USUARIO='" + usuario + "'");
  comandos2.Connection = conexao;
  int cod_funcionario = Convert.ToInt16(comandos2.ExecuteScalar());

  //Por fim, pelo código do funcionário obtido, é iniciado a busca por suas metas
  SqlCommand comandos4 = new SqlCommand("SELECT VALOR_META from METAS where CODIGO_FUNCIONARIO='" + cod_funcionario + "'");
  comandos4.Connection = conexao;
  int metaArrecadacao = Convert.ToInt16(comandos4.ExecuteScalar());
  double valorSemanal = metaArrecadacao / 5;
  double valorDiario = metaArrecadacao / 30;

  //Por fim é exibido ao operador as suas respectivas metas
  //lblmensal.Text = Convert.ToString(metaArrecadacao);
  //lblsemanal.Text = Convert.ToString(valorSemanal);
  //lbldiaria.Text = Convert.ToString(valorDiario);

  //Eventos ao momento em que o form é carregado
}

protected void Page_InitComplete(object sender, EventArgs e) {
  string usuario = String.Format(Session["usuario"].ToString());
  lblNome.Text = usuario;(AQUI OCORRE O ERRO)


}

The error happens on the line I referenced. When I run initially, the error does not occur, but when I mute the page in my project, the error happens.

    
asked by anonymous 13.07.2018 / 04:44

2 answers

0

Solved staff !!! It even seems silly, but it makes a lot of sense, it was not treating the nulls ratio, so the exception was triggered. To fix I did the following implementation:

namespace Projeto_Coopera
{
    public partial class dashboardOp : System.Web.UI.Page
    {
        string usuario = "";

        protected void Page_Load(object sender, EventArgs e)
        {
                    usuario = String.Format(Session["usuario"].ToString());

                    if (lblNome != null)
                    {
                        lblNome.Text = usuario;
                    }

                    //Área referente a consulta na base de dados em relação as metas da operadora
                    SqlConnection conexao = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=DB_COOPERATIVE;Integrated Security=True;"); //Definição da string de conexão
                    conexao.Open(); //É aberto a conexão com a base de dados

                    //Recuperar o código da pessoa através de seu nome
                    SqlCommand comandos2 = new SqlCommand("SELECT CODIGO_FUNCIONARIO from USUARIO where LOGIN_USUARIO='" + usuario + "'");
                    comandos2.Connection = conexao;
                    int cod_funcionario = Convert.ToInt16(comandos2.ExecuteScalar());

                    //Por fim, pelo código do funcionário obtido, é iniciado a busca por suas metas
                    SqlCommand comandos4 = new SqlCommand("SELECT VALOR_META from METAS where CODIGO_FUNCIONARIO='" + cod_funcionario + "'");
                    comandos4.Connection = conexao;

                    int metaArrecadacao = Convert.ToInt16(comandos4.ExecuteScalar());
                    double valorSemanal = metaArrecadacao / 5;
                    double valorDiario = metaArrecadacao / 30;

                    //Por fim é exibido ao operador as suas respectivas metas

                    //lblmensal.Text = Convert.ToString(metaArrecadacao);
                    //lblsemanal.Text = Convert.ToString(valorSemanal);
                    //lbldiaria.Text = Convert.ToString(valorDiario);

        }





    }
}
    
14.07.2018 / 04:50
0

I believe you are using Page_InitComplete wrong

See what part of the documentation says:

  

The InitComplete event is called at the end of the page's startup stage. At this stage of the page lifecycle, all declared controls on the page are initialized, but the status of the page is not yet filled. You can access the server controls, but they will not yet contain information returned from the user.

Excerpt taken from this site:

link

That old advice: put a break point and check when to access this method.

    
13.07.2018 / 18:53