Como enlazar columnas de una tabla SQL a unos ‘TextBox’

‘ En respuesta a la pregunta de como añadir o modificar registros


‘ a una tabla de SQL con bindings sin DGV y al viejo estilo ADO.



‘ Utilizaremos solo las columnas de Nombre y Telefono de la tabla ‘Shippers’


‘ Despues de insertar un nuevo registro, deberemos utilizar el boton


‘ de actualizar para que dichos cambios sean actualizados a la BD.


‘ En caso de modificacion solo necesitaremos llamar a la ‘actualizacion’


 


Imports System.Data


Imports System.Data.SqlClient


 


Public Class Form1


   


    ‘Constructores para el acceso a la tabla ‘Shippers’ y su correspondiente BindingSource


    Private MiConexion As New SqlConnection( _


               “Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Temp\Northwind\NORTHWND.MDF” + _


               “;Integrated Security=True;Connect Timeout=30;User Instance=True”)


 


    Private MiDataSet As New DataSet()


    Private MiAdaptador As New SqlDataAdapter(“SELECT * FROM Shippers”, MiConexion)


    Private MiEnlazador As New BindingSource


 


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


       


        ‘ Panel conteniendo los textbox para la entrada/modificacion


        Dim Nombre As New TextBox


        Dim Telefono As New TextBox


 


        Dim marcoDatos = New FlowLayoutPanel


        marcoDatos.Dock = DockStyle.Top


        marcoDatos.Controls.AddRange(New Control() {Nombre, Telefono})


        Me.Controls.AddRange(New Control() {marcoDatos})


 


       


        ‘ Panel conteniendo los botones de control


        Dim Avanza As New Button


        Dim Retrocede As New Button


        Dim Insertar As New Button


        Dim Actualizar As New Button


        Dim Controles As New FlowLayoutPanel


        Controles.Dock = DockStyle.Bottom


        Retrocede.Text = “<- Re”


        Avanza.Text = “Av ->”


        Insertar.Text = “Insertar”


        Actualizar.Text = “Actualizar”


        Controles.Controls.AddRange(New Control() {Retrocede, Avanza, Insertar, Actualizar})


        Me.Controls.AddRange(New Control() {Controles})


       


        ‘ Asignar el evento a las funciones de cada boton de control


        AddHandler Retrocede.Click, AddressOf retroceder


        AddHandler Avanza.Click, AddressOf Avanzar


        AddHandler Insertar.Click, AddressOf Nuevo


        AddHandler Actualizar.Click, AddressOf Actualizacion


       


        ‘ Conexion, relleno y asignacion del enlace a datos


        MiConexion.Open()


        MiAdaptador.Fill(MiDataSet)


        MiEnlazador.DataSource = MiDataSet.Tables(0)


        Dim Micommandbuilder As New SqlCommandBuilder(Me.MiAdaptador)


       


        ‘ Enlace de los TextBox a sus omologos en la tabla


        Dim EnlaceNombre As New Binding(“Text”, MiEnlazador, “CompanyName”)


        Nombre.DataBindings.Add(EnlaceNombre)


        Dim EnlaceDireccion As New Binding(“Text”, MiEnlazador, “Phone”)


        Telefono.DataBindings.Add(EnlaceDireccion)


    End Sub


    ‘ Avanzar un registro dentro del ‘recordset’ :-)


    Sub Avanzar()


        MiEnlazador.MoveNext()


    End Sub


    ‘ Retroceder un registro


    Sub retroceder()


        MiEnlazador.MovePrevious()


    End Sub


    ‘Crear un nuevo registro


    Sub Nuevo()


        MiEnlazador.AddNew()


    End Sub


    ‘ Actualizar el registro en curso o el recien creado


    Sub Actualizacion()


        MiEnlazador.EndEdit()


        MiAdaptador.Update(CType(Me.MiEnlazador.DataSource, DataTable))


    End Sub


End Class


Saludos,
Pep Lluis,

7 thoughts on “Como enlazar columnas de una tabla SQL a unos ‘TextBox’”

  1. buenas…tengo un pequeño problema…quiero enlazar una tabla a un formulario…pero con textbox y 2 combobox en visual foxpro9…el problema es como le hago para que aparescan las columnas en su determinado cuadro de text…mui agradecido de antemano por la respuesta….roman

  2. Hola Roman,

    La verdad es que no he desarrollado nunca una aplicacion utilizando Fox, sin embargo por tu pregunta creo que deberias intentar utilizar ‘bindings’ en todo caso para poder tener una comunicacion mas fluida y ver si algun compañero puede ayudarte, contacta a utilizando la opcion de [contact].

    Espero tus noticias,
    Pep Lluis,

  3. hola requiero tu ayuda urgente espero puedan ayudarme.logre enlazar un textbox con una tabla de mi base, pero necesito que lo q se muestra en el textbox cambie segun la seleccion de un comboBox. la informacion que debe mostrarse es la de la tabla a la que se enlazo el textBox. espero puedan orientarme gracias

  4. hola bueno mira yo tengo una duda, tengo que conectar un textbox cn un access, porque aun no puedo trabajar con sql no me podrias dar una mano?

    graxx

  5. Hola buenos Noches!
    Les estaré agradecioco si me ayudan a corrergir mi codigo.
    para iniciar les comento que soy novato en programación de Visual Basic 2008 y Sql2005.

    necesio saber como envió un valor de una consulta a un texbox.

    ahi les dejo mi codigo

    Private Sub Button1_Click

    Dim da As New SqlDataAdapter(“SELECT nombre,usuario,clave FROM dbo_usuarios where usuario = ‘” & (Txtusuario.Text) & “‘”, conex)
    (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    DataAdapter.Fill(Dataset, “usuarios”)

    Txtnombre.DataBindings.Add(“text”, Dataset, “Nombre”)

    gracias

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>