none
referencia a objeto no establecida como instancia de un objeto RRS feed

  • Pregunta

  • Buenas  a todos,tengo el siguiente código el cual me arroja el error que está en el titulo,no se a que se debe si pudieran ayudarme nuevamente estaría agradecido.

    Protected Sub Enviar_Click(sender As Object, e As EventArgs) Handles Enviar.Click
            Lconsecutivo.Visible = True
            Lconsecutivo.Text = "Recuerde su numero de solicitud es " & obidconsecutivo()
            Envia()
        End Sub

    Private Sub Envia() Dim Msg As String Msg = "Recuerde su número de solicitud es: " & obidconsecutivo() Dim correo As New System.Net.Mail.MailMessage correo.From = New System.Net.Mail.MailAddress("th8e@hotmail.com") correo.To.Add(Me.txtemail.Text) correo.IsBodyHtml = True correo.Priority = System.Net.Mail.MailPriority.Normal correo.Subject = "Número de Queja" correo.Body = Msg Dim smtp As New System.Net.Mail.SmtpClient smtp.Host = "stmp.prueba.es" smtp.Credentials = New System.Net.NetworkCredential("tavidd@hotmail.com", "49fghgh45f") Dim booERROR As Boolean = True Try smtp.Send(correo) Catch ex As Exception booERROR = False End Try If booERROR Then Label1.Text = "El mensaje ha sido enviado correctamente" Else Label1.Text = "El mensaje no ha podido enviarse." End If End Sub


    jueves, 9 de abril de 2015 5:05

Respuestas

  • Lo primero esta linea

     maximo = Convert.ToInt32(Agregar.ExecuteScalar())

    cambiala por 

     maximo = Convert.ToInt32(tipodat)

    no vuelvas a ejecutar dos veces la consulta.

    Lo segundo, cuando se te para en la linea que indicas y pasas el raton por tu objeto Agregar... éste es Nothing???


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    jueves, 9 de abril de 2015 14:35
    Moderador

Todas las respuestas

  • Así a simple vista no hay nada en el código que has aportado que resulte "obvio" que resulte en una referencia no establecida. Podría ocurrir, por ejemplo, dentro del método obidconsecutivo() cuyo fuente no podemos ver.

    Ejecuta el código con el depurador (o habilita la "pantalla amarilla" en ASP.NET) de tal manera que determines la línea exacta en la que ocurre el error, y muéstranos cuál es esa línea. Será de gran ayuda para que podamos ayudarte mejor.

    jueves, 9 de abril de 2015 5:34
  • estoy de acuerdo con Alberto. Tambien si quieres puedes hacer lo siguiente. Ve al menú Depurar/Excepciones/ marca la casilla Common Runtime. Esto provoca que si durante la depuración de tu aplicación se produce una excepción, el programa se para en la linea que provocó dicha excepción. Con esto veremos dónde se produce el fallo

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    jueves, 9 de abril de 2015 5:42
    Moderador
  • hola

    de todo el codigo que muestras el unico lugar donde se me genera dudas y podria estar el fallo es dentro de obidconsecutivo()

    no se que hace ese metodo, pero si alli accedes a una db puede que por eso falle con ese error

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 9 de abril de 2015 6:30
  • Buenas he ejecutado el programa tal como me dijeron para ver la excepción,el error está en esta linea

       Public Function obidconsecutivo() As Integer
            Dim maximo As Integer
            Try
                Dim Agregar As New MySqlCommand

                Agregar.Connection = conexion


                Agregar.CommandText = "select max(Id_reclamo) from reclamos "

                Dim tipodat As Object = Agregar.ExecuteScalar() 'referencia a objeto no establecida...


                If tipodat.GetType.FullName <> "System.DBNull" Then
                    maximo = Convert.ToInt32(Agregar.ExecuteScalar())
                Else
                    maximo = 1
                End If
                txxid.Text = maximo
                txxid.Focus()

            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
            Return maximo
        End Function


    • Editado Krej jueves, 9 de abril de 2015 14:29
    jueves, 9 de abril de 2015 14:28
  • Lo primero esta linea

     maximo = Convert.ToInt32(Agregar.ExecuteScalar())

    cambiala por 

     maximo = Convert.ToInt32(tipodat)

    no vuelvas a ejecutar dos veces la consulta.

    Lo segundo, cuando se te para en la linea que indicas y pasas el raton por tu objeto Agregar... éste es Nothing???


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    jueves, 9 de abril de 2015 14:35
    Moderador

  • Lo segundo, cuando se te para en la linea que indicas y pasas el raton por tu objeto Agregar... éste es Nothing???

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    Así es.

    • Editado Krej jueves, 9 de abril de 2015 15:18
    jueves, 9 de abril de 2015 15:18