none
ERRO AO ADICIONAR EM TABELA TEMPORÁRIA: Object reference not set to an instance of an object RRS feed

  • Pergunta

  • Boa Tarde Pessoal,

    Estou criando uma tela de entrada de estoque, onde o usuário vai adicionando os itens e clica no botão + para adicionar no gridview, e depois de concluído é movimentado o estoque através da gridview, pois bem, toda as vezes que eu tento adicionar o item na tabela temporária obtem o erro: Object reference not set to an instance of an object, na linha NovaLinha = Carrinho.NewRow(), Segue abaixo o código para entendimento:

      Private Carrinho As DataTable
      Private NovaLinha As DataRow

        Private Sub CriaCarrinhoNormal()
            Carrinho = New DataTable("consulta")
            Carrinho.Columns.Add("Codigo_SAP", Type.[GetType]("System.String"))
            Carrinho.Columns.Add("Grupo", Type.[GetType]("System.String"))
            Carrinho.Columns.Add("Descricao", Type.[GetType]("System.String"))
            Carrinho.Columns.Add("Saldo", Type.[GetType]("System.String"))
            Session.Add("GeraDados", Carrinho)
        End Sub


        Private Sub Add()
            Session.Add("GeraDados ", Carrinho)

            Carrinho = DirectCast(Session("GeraDados "), DataTable)

            NovaLinha = Carrinho.NewRow()
            NovaLinha("Codigo_SAP") = txtCodSAP.Text
            NovaLinha("Grupo") = txtGrupo.Text
            NovaLinha("Descricao") = txtDescricao.Text
            NovaLinha("Saldo") = txtQtd.Text
            Carrinho.Rows.Add(NovaLinha)

            Session("GeraDados ") = Carrinho

            MyGridView1.DataSource = Carrinho
            MyGridView1.DataBind()
        End Sub


        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not IsPostBack Then
                CriaCarrinhoNormal()
            End If
        End Sub

    Obrigado !!!!!

    quarta-feira, 28 de março de 2012 18:38

Respostas

  • Boa Tarde Edson, fiquei o dia inteiro quebrando a cabeça, e achei este erro juvenil, rsrsrs

    Session.Add("GeraDados ", Carrinho) - o Gera dados estava com um espaço.

    Session.Add("GeraDados", Carrinho) - fiz a correção e ficou ok 

    Obrigado Pela Ajuda!

    quarta-feira, 28 de março de 2012 18:49

Todas as Respostas

  • Luiz, boa tarde.

    Este erro é muito comum, você esta tentando acessar alguma coisa que não existe referencia para ele na memória.

    Neste caso aconselho a você colocar um breakpoint e verificar em qual momento ele cria o objeto "Carrinho", porque com certeza ele esta como "null", quando você esta tentando adicionar alguma coisa nele.


    Consultoria .NET
    ANALISTA DESENVOLVEDOR
    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta.
    Blog .Net Descomplicado

    quarta-feira, 28 de março de 2012 18:42
  • Boa Tarde Edson, fiquei o dia inteiro quebrando a cabeça, e achei este erro juvenil, rsrsrs

    Session.Add("GeraDados ", Carrinho) - o Gera dados estava com um espaço.

    Session.Add("GeraDados", Carrinho) - fiz a correção e ficou ok 

    Obrigado Pela Ajuda!

    quarta-feira, 28 de março de 2012 18:49