none
Variable de objeto o de bloque With no establecida.' RRS feed

  • Pregunta

  • hola soy nuevo en la programación y estoy tratando de generar una consulta en una base de datos de sql a traves de vb 2017

    me da el error Variable de objeto o de bloque With no establecida.' en la linea remarcada les agradecería si me pueden dar una orientación, y disculpen si la pregunta es muy boba ,gracias

    Imports System.Data.SqlClient

    Public Class Form1
        Private ReadOnly txt_codigo As Object
        Private txt_razon As Object
        Private txt_codigo As Object

        Private Sub buscar_Click(sender As Object, e As EventArgs) Handles buscar.Click
            Dim conexcion As String
            conexcion = "Data Source=AUXPROG-PC;Initial Catalog=arecosa;Integrated Security=True"
            Dim cn As New SqlConnection
            cn.ConnectionString = conexcion

            Dim txt_razonsocial As Object = Nothing
            Dim adaptador As New SqlDataAdapter(" 'select * from clientes where cliente =' " & txt_codigo.Text & "'", cn)
            Dim ds As New DataSet
            adaptador.Fill(ds, "datos")
            If ds.Tables("datos").Rows.Count > 0 Then
                txt_razon.Text = ds.Tables("datos").Rows(0).Item(1).ToString
                txt_direccion.Text = ds.Tables("datos").Rows(0).Item(2).ToString
            Else
                MsgBox("el codigo ingresodo no existe")
            End If

        End Sub

    martes, 8 de enero de 2019 14:49

Respuestas

  • Cuando se pare en el error con el debugger, pasa el ratón por las variables a ver cuál es la que vale Nothing. Mi sospecha es que puede ser el txt_codigo. Fijate en que lo tienes definido como "Private" dentro del class, cosa que es inusual. Lo normal sería que estuviese definido automáticamente en la parte de la clase definida por el diseñador, y que el propio diseñador inicialice la variable en el Initializecomponent. Si la declaras tú por tu cuenta, no se inicializa automáticamente, y entonces vale Nothing y da un error.
    martes, 8 de enero de 2019 17:25