Programación General > Visual Basic 6.0 e inferiores

 Problemas para enlazar un textbox con un datagrid

<< < (2/2)

ProfesorX:
Bueno, si sigues obteniendo un datagridview vacio, me parece que debes tener algun error en tu consulta.

Prueba lo siguiente, primero intenta con una consulta donde obtengas todos los registros para verificar que tu tabla no esta vacia, y descartar un error en otra parte:


--- Código: ---        OleComand.CommandText = "SELECT ID_TABLA2, Fecha, OBS FROM TABLA2"

--- Fin del código ---

Despues prueba una consulta con una condicion, utilizando un valor que sabes que  se encuentra en la base de datos, suponiendo por ejemplo que tienes un id_tabla 2 con valor de 1, prueba lo siguiente:


--- Código: ---        OleComand.CommandText = "SELECT ID_TABLA2, Fecha, OBS FROM TABLA2 WHERE ID_TABLA2 = 1"

--- Fin del código ---

Finalmente, utiliza tu intruccion:

--- Código: ---        OleComand.CommandText = ("SELECT ID_TABLA2, Fecha, OBS FROM TABLA2 WHERE ID_TABLA2= '" & NumeroTextBox.Text & "'")

--- Fin del código ---

Si aun te sale un datagridview vacio, revisa el contenido de NumeroTextBox.Text, verificando que no este en blanco ni nada parecido.

Mira, te dejo un codigo que te ayudxara en la depuracion, utilzas un MessageBox.Show para desplegar el contenido de tu consulta, y utilizas un bloque try..catch..finally para ayudarte a atrapar errores que normalmente no te aparecen, asi podremos ir encontrando la falla.


--- Código: ---    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BBDD.mdb; User Id=admin;Password=;"

        Dim ocom As New OleDb.OleDbConnection(connectionString)
        Dim ds As New DataSet
        Dim OleComand As New OleDb.OleDbCommand
        Dim da As New OleDb.OleDbDataAdapter
        da.SelectCommand = OleComand
        da.SelectCommand.Connection = ocom
        OleComand.CommandText = "SELECT ID_TABLA2, Fecha, OBS FROM TABLA2"
        'Con la siguiente instruccion podras ver el contenido de la consulta SQL, para verificar
        'que realmente la estas construyendo adecuadamente
        MessageBox.Show(OleComand.CommandText)

        ' El siguiente codigo te ayudarar a atrapar erroresw, y verlos en un cuadro de una manera mas clara
        Try
            ocom.Open()
            OleComand.ExecuteNonQuery()
            da.Fill(ds, "seguimiento")
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
            ocom.Close()
        End Try
        DataGridView1.DataSource = ds.Tables("seguimiento")

    End Sub
End Class

--- Fin del código ---

Saludos :)

ProfesorX:
Hola, al terminar de escribirte mi respuesta, me he dado cuenta de algo, si estas haciendo la consulta al cargar el formulario, el texbox en ese momento estara en blanco, proque aun no has capturado nada en el, por lo tanto la consulta obtenida sera la siguiente:


--- Código: ---SELECT ID_TABLA2, Fecha, OBS FROM TABLA2 WHERE ID_TABLA2= ''

--- Fin del código ---

Y como la condicion del where esta en blanco, no obtendras ningun registro.

Me parece que debes ejecutar la consulta y llenar el datagridview DESPUES de cargar el formulario, y que hayas puesto un valor en tu textbox, quizas tengas que agregar un control button y ejecutar el comando por medio del evento click de ese button, validando ademas que el textbox no se encuente vacio para que no hagas una consulta con la condicion vacia.

Saludos :)

pirlespi:
Muy buenas otra vez,

Efectivamente, he añadido un control button que llevaba a un nuevo form y ahí ya he podido cargar los datos de la tabla en el datagrid.

Funciona perfectamente.

Mil gracias!

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa