Llenar Un ComboBox Desde BD [Vb.net & SQL Server]

Bueno Para EL Siguiente Ejercicio Mostraremos Como Mostrar Registros de una Base De Datos(BD) En El Control ComboBox.

Para Este Tendremos En Cuenta!! Las Siguientes Propiedades Del Combobox

Propiedad Descripcion
DataSource Obtiene o establece el origen de datos de este objeto ComboBox.
DisplayMember Obtiene o establece la propiedad que se va a mostrar.
ValueMember Obtiene o establece la propiedad que se utilizará como valor real.

Bie Tomando En Cuenta Estas Propiedades.

Comenzaremos A Crear Muestra BD Para Nuestra Prueba.

</pre>
--Creamos La BD
Create Database Prueba
--Seleccionamos La BD Prueba
Use Prueba
--Creamos La Tabla Animales
--Con El Campo id Como Clave
--Primeria Y Que Aumente De Uno En Uno
Create Table Animales(
id Int PRIMARY KEY not null identity(1, 1),
nombre nvarchar(50)
)
--Insertamos Registros
insert into Animales(nombre) values('Gato')
insert into Animales(nombre) values('Perro')
insert into Animales(nombre) values('Perico')
insert into Animales(nombre) values('Loro')
insert into Animales(nombre) values('Mono')
--Mostramos Los Registros De La Tabla Animales
Select * From Animales

Ahora Diseñamos Nuestro Formulario

Codigo Fuente:

Imports System.Data.SqlClient
Public Class Form1
    Dim Dt As DataTable
    Dim Cn As New SqlConnection("Data Source=.;Initial Catalog=Prueba;Integrated Security=True")
    Dim Da As New SqlDataAdapter
    Dim Cmd As New SqlCommand
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        With Cmd
            .CommandType = CommandType.Text
            .CommandText = "Select * From Animales"
            .Connection = Cn
        End With
        Da.SelectCommand = Cmd
        Dt = New DataTable
        Da.Fill(Dt)
        With ComboBox1
            .DataSource = Dt
            .DisplayMember = "nombre"
            .ValueMember = "id"
        End With
    End Sub
End Class

Espero Que Les Guste

15 Respuestas a “Llenar Un ComboBox Desde BD [Vb.net & SQL Server]

  1. hola, cuando trato de obtener el valor de valuemember me devuelve siempre el nombre del campo en vez del valor. Alguna idea por que?

Replica a Joakiin Cancelar la respuesta