martes, 30 de marzo de 2010

Cargar campo en un Combobox

Simple ejemplo en visual basic.net , para cargar un campo de una tabla en un
control ComboBox

En el ejemplo, primero se crea una nueva conexión hacia la base de datos de de sql server., en este caso se llama base_prueba
Paso 2, se crea un SqlCommand pasándole la consulta , por ejemplo : "Select Campo From Tabla"
Paso 3 se llena un DataSet con los datos
Paso 4 se asigna al DataSource del ComboBox el dataset
Paso 5 Se indica a la propiedad DisplayMember del combobox , el nombre del campo a visualizar

Código fuente
Option Explicit On
Option Strict On

' Espacio
Imports System.Data.SqlClient

Public Class Form1
' Cadena de conexión
Private Const cs As String = "Data Source=(local)\SQLEXPRESS;" & _
"Integrated Security=True;" &"Initial Catalog=bd_prueba"

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

'enviar el control ComboBox y la consulta
cargar_Combo(ComboBox1, "Select Apellido From t_clientes")

End Sub

Private Sub cargar_Combo(ByVal ComboBox As ComboBox, _
ByVal sql As String)

' nueva conexión indicando al SqlConnection la cadena de conexión
Dim cn As New SqlConnection(cs)

Try

' Abrir la conexión a Sql
cn.Open()

' Pasar la consulta sql y la conexión al Sql Command
Dim cmd As New SqlCommand(sql, cn)

' Inicializar un nuevo SqlDataAdapter
Dim da As New SqlDataAdapter(cmd)

'Crear y Llenar un Dataset
Dim ds As New DataSet
da.Fill(ds)

' asignar el DataSource al combobox
ComboBox.DataSource = ds.Tables(0)

' Asignar el campo a la propiedad DisplayMember del combo
ComboBox.DisplayMember = ds.Tables(0).Columns(0).Caption.ToString

Catch ex As Exception
MessageBox.Show(ex.Message.ToString,"error", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
Finally
If cn.State = ConnectionState.Open Then
cn.Close()
End If
End Try
End Sub
End Class

No hay comentarios:

Publicar un comentario