Llenar un ComboBox con Vb.net y con C#

Llenar un ComboBox mediante una Consulta!!

Me encuentro escribiendo este articulo para todas aquellas personas que se vean en la necesidad de llenar un combobox mediante una consulta, en este ejemplo les mostrare como llenarlo:

 

 

Codigo C#

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace WindowsApplication3

{

    public partial class Llenar : Form

    {       

        SqlConnection conexion = new SqlConnection();

        SqlCommand comando = new SqlCommand();

        SqlDataAdapter adapter = new SqlDataAdapter();

        DataSet data = new DataSet();

        public Llenar()

        {

            InitializeComponent();

        }

        private void Llenar_Load(object sender, EventArgs e)

        {

            try

            {

                conexion.ConnectionString = "Server=VICO\\SQLEXPRESS; Initial Catalog=Prueba; Integrated Security=sspi;";

            conexion.Open();

            comando.Connection = conexion;

            adapter.SelectCommand = comando;

            comando.CommandText = "select nombre from t_vico order by nombre"; //el comando que llena el Combo

            comando.ExecuteNonQuery();

            adapter.Fill(data); //llenamos nuestro dataset

            comboBox.DataSource = data.Tables[0]; //llenamos nuestro combobox con el dataset

            comboBox.DisplayMember = data.Tables[0].Columns[0].Caption; //Lo mostramos

            }

            catch (Exception ex)

            {

             MessageBox.Show("Error" + ex.Message); //cualquier error no lo marca

            }}}

 

 

 

 

Codigo Vb.net

Imports System.Data.SqlClient 'Espacio de nombre

Public Class Llenar

    Dim conexion As New SqlConnection 'declaramos nuestra conexion

    Dim comando As New SqlCommand ' declaramos nuestro comando

    Dim adapter As New SqlDataAdapter ' declaramos nuestro Adapter

    Dim data As New DataSet 'declaramos nuesro Dataset

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

        Try

            conexion.ConnectionString = "Server=VICO\SQLEXPRESS; Initial Catalog=Prueba; Integrated Security=sspi;"

            conexion.Open()

            comando.Connection = conexion

            adapter.SelectCommand = comando

            comando.CommandText = "select nombre from t_vico order by nombre" 'el comando que llena el Combo

            comando.ExecuteNonQuery()

            adapter.Fill(data) 'llenamos nuestro dataset

            ComboBox.DataSource = data.Tables(0) 'llenamos nuestro combobox con el dataset

            ComboBox.DisplayMember = data.Tables(0).Columns(0).Caption.ToString 'Lo mostramos

        Catch ex As Exception

            MessageBox.Show("Error" + ex.Message) 'cualquier error no lo marca

        End Try

    End Sub

End Class

 

Nuestro resultado seria el siguiente: 

ComboBox

Espero les halla servido este pequeño articulo.Chulo

Comentarios
Añadir nuevoBuscar
Alejandro - Buen Ejemplo Unregistered | 2009-04-15 09:07:08
Brother excelente ejemplo me sirvio de mucho un saludo
fidel - ayuda con visual 2008 Unregistered | 2009-05-21 02:34:47
hola vi tu articlo es muy interesante, ya que eres una persona que tiene conocimientos mas adelantados lo que necesito saber como hacer una conexcion desde visual .net con autenticacion de windows y luego invocar a un store procedure para obtener un recordset para llenar un combobox

saludos
Vico - ayuda con visual 2008 Unregistered | 2009-05-21 02:58:50
Para autenticacion de Windows Seria asi

"Server=VICO\SQLEXPRESS; Initial Catalog=Prueba; Integrated Security=sspi;"

para autenticacion de SQL asi

"Server=VICO\SQLEXPRESS; Initial Catalog=Prueba; user id=usuario password=password;"
Oscar - Displaymember con 2 columnas Unregistered | 2009-09-25 08:06:10
Saludos

Sabes alguna forma de poner 2 columnas (id, descripcion) en el displaymember???

oscargco@hotmail.com
Espero tus comentarios.
Kakashi Unregistered | 2009-10-01 21:29:36
@Oscar:

Para eso deberias concatenar los campos al momento de hacer la consulta sql:

Select ( campo1 || ' ' ||campo1) AS micampo FROM tabla WHERE condicion

cuando hagas el displaymember, llamas a "micampo" y listo

PD: la concatenacion va a variar segun el motor de base de datos que utilices.. en ejemplo es de motor BD. Oracle.

Saludos
ChikOsMaN - problama con codigo Unregistered | 2009-10-02 02:33:13
hola
probe tu codigo pero no me resulta con mi coneccion Npgsql
deberia ser lo mismo?
o tiene algun otro truco???
Chessare - Necesito guardar ID y Texto Unregistered | 2009-10-15 13:27:22
Hay alguna manera de presentar un combobox que muestre el valor string pero que contenga tambien el id del item?

Gracias
el vico - Necesito guardar ID y Texto Unregistered | 2009-10-15 18:25:16
Hola como entiendo lo que quieres que aparesca es algo asi

id eltexto

?

o si no es asi me podrias decir como posteo el codigo ;-)
Rafael - GRACIAS Unregistered | 2009-10-27 00:03:20
MUCHAS GRACIAS TE LO AGRADEZCO... NO PODIA HACER QUE SE CONECTARA A MI BD CON EL COMBOBOX, YA TENIA LA CABEZA PELONA DE TODOS LOS PELOS QUE ME ARRANQUE COMO ME GUSTARIA QUE HUBIERA MAS GENTE COMO TU, QUE NO LE DA MIEDO TRANSFERIR SUS CONOCIMIENTOS A LAS DEMAS PERONAS.... GRACIAS DE NUEVO
SAMJ - Displeymember Unregistered | 2009-12-03 12:14:54
Saludos a todos los miembros de este foro tengo un pequeño problema es similar a la que tenia oscar nada mas que yo estoy trbajando en 3 capas he intentado de varias formas pero no he conseguido lo que quiero si alguien me puede ayudar con este problema se lo agredecere mucho. de ante mano le doy las gracias. espero que me ayuden.
LIZ - COMO LE HAGO Unregistered | 2009-12-03 14:25:11
GRACIAS POR LA APORTACIÓN.
DISCULPEN TENGO UN COMBOBOX DONDE AGREGO DATOS DE UNA CONSULTA PERO AHORA QUIERO DESPLEGAR LOS DATOS DE 2 TABLAS USANDO COMO REFERENCIA EL CONTENIDO DEL COMBOBOX PERO NO ME LO HACE ALGUIEN PODRIA AYUDARME SE LO AGRADECERIA LES DEJO EL PEDAZO DE CODIGO

string query = "select id_fi FROM ALUMNO ";
comando = new SqlCommand(query, cnn);
reader_p = comando.ExecuteReader();

while (reader_p.Read())
{
IDFICHA.Items.Add(reader_p["id_fi"]);

}

reader_p.Close();


}
catch (Exception ex)
{


}
}

private void button3_Click(object sender, EventArgs e)
{
SqlCommand comandoA;
SqlDataReader readerA;




try
{




string query = "select FICHA.costo,FICHA.fecha,ALUMNO.num_control,ALUMNO.nombre_a,ALUMNO.apellido_p_a,ALUMNO.apellido_m_a,ALUMNO.grado,ALUMNO.grupo from FICHA,ALUMNO where (FICHA.id_fi=ALUMNO.id_fi)AND(ALUMNO.id_fi= '" + IDFICHA.Text + "';)";

comandoA = new SqlCommand(query, cnn);
readerA = comandoA.ExecuteReader();
//CBEMP.Text = "";
while (readerA.Read())
{


//CBEMP.Text = Convert.ToString(reader[0]);

textBox1.Text = Convert.ToString(readerA[0]);
textBox2.Text = Convert.ToString(readerA[1]);
textBox3.Text = Convert.ToString(readerA[2]);
textBox4.Text = Convert.ToString(readerA[3]);
textBox5.Text = Convert.ToString(readerA[4]);
textBox6.Text = Convert.ToString(readerA[5]);
textBox7.Text = Convert.ToString(readerA[6]);
textBox8.Text = Convert.ToString(readerA[7]);
Omar - Re: Unregistered | 2009-12-03 15:20:02
Hola Liz ya probaste el utilizar las propiedades
cmb.DataTextField
cmb.DataValueField

?
Miriam - Displeymember Unregistered | 2009-12-03 15:28:55
Yo creo que la solucion mas simple al llenar un Combo con mas de 2 tabla es la siguiente primero Llenamos un Dataset con las tablas que queramos, para poder llenar un combobox con mas de una tablas ya sean 2,3,4,5 lo unico que tienes que hacer es recuperar del dataset la tabla 1 por ejemplo
[b]
Ejemplo[/b]

'Ya que tenemos nuestro Dataset

'Llenamos el combo con la primer tabla
cmbRider.DataTextField = "campo"
cmbRider.DataValueField = "campo"
cmbRider.DataSource = dataset.Tables(1)

'Llenamos el combo con la segunda tabla
cmbRider.DataTextField = "campo"
cmbRider.DataValueField = "campo"
cmbRider.DataSource = dataset.Tables(2)

'..asi con las demas tablas y finalmente hacemos el DataBind

cmbRider.DataBind()




Cualquier cosa me comentan
Juan Ignacio - Textbox Unregistered | 2009-12-18 07:26:18
Hola,
quisiera saber como puedo rellenar un textbox, según lo que elija en un combobox.

Me explico: Tengo un combobox con una serie de ID's y quiero que en el textbox me aparezca la descripción de ese ID (nombre, por ejemplo) como recomendado, pero la idea de que sea un textbox es que yo lo puedo editar.

Saludos
Ivan - solucion Unregistered | 2009-12-18 12:25:04
Lo que necesitas hacer
es lo siguiente


txt.text=Convert.toString(cmbRider.DataValueField = "name")
karritos - hombre me salvaste Unregistered | 2010-04-03 15:30:16
este codigo en c# esta muy bien estructurado
mi profesor pedia rellenar pero sin un for y no me imaginaba como
pero viendo no es tan dificil como parece

GRACIAS
Elena - Graciasss!!! Unregistered | 2010-04-26 14:15:16
Muchas graciasss!! estaba buscando eso en c# y realmente me sirvió muchisisisimo
Luis - Yo necesito pero cargar dos ca Unregistered | 2010-05-10 11:00:00
Alguien me puede echar una mano, necesito cargar dos campos en mi combobox de una tabla.................

Private Sub cargar_CmbIdDelegacion(ByVal ComboBox As ComboBox, ByVal sql As String)
'COMBOBOX DE LA DELEGACION
' nueva conexión indicando al OracleConnection la cadena de conexión
Dim cn1 As New OracleConnection(strconn)
Dim da1 As OracleDataAdapter = New OracleDataAdapter
Dim ds1 As DataSet = New DataSet()

Try
' Abrir la conexión
cn1.Open()
da1.SelectCommand = New OracleCommand(sql, cn1)
da1.Fill(ds1)

' asignar el DataSource al combobox
CmbIdDelegacion.DataSource = ds1.Tables(0)

'Campos maximos en nuestro combobox
CmbIdDelegacion.MaxDropDownItems = 4 '4 delegaciones a la vez

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

'CmbIdDelegacion.DataSource = ds1.Tables(0) 'llenamos nuestro combobox con el dataset
'CmbIdDelegacion.DisplayMember = ds1.Tables(0).Columns(0).Caption.ToString 'Lo mostramos
'CmbIdDelegacion.Items.Add(sql(CInt("iddelegacion"))) + "" + sql(CInt("descripcion")))
'CmbIdDelegacion.DisplayMember = ds1.Tables(0).Columns(0).Caption.ToString & ds1.Tables(0).Columns(1).Caption.ToString

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

Private Sub cargar_CmbStatus(ByVal ComboBox As ComboBox, ByVal sql As String)
'COMBOBOX DEL STATUS
Dim cn1 As New OracleConnection(strconn)
Dim da1 As OracleDataAdapter = New OracleDataAdapter
Dim ds1 As DataSet = New DataSet()

Try
' Abrir la conexión
cn1.Open()
da1.SelectCommand = New OracleCommand(sql, cn1)
da1.Fill(ds1)

' asignar el DataSource al combobox
CmbStatus.DataSource = ds1.Tables(0)

' Asignar el campo a la propiedad DisplayMember del combo
CmbStatus.DisplayMember = ds1.Tables(0).Columns(1).Caption.ToString

Catch ex As Exception
MessageBox.Show(ex.Message.ToString, "error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
If cn1.State = ConnectionState.Open Then
cn1.Close()
End If
End Try
End Sub
jessik - text y combobox Unregistered | 2010-07-15 12:55:10
hola alguien me podia decir como le ago para introducir en una caja de texto un dato y lo agrege al combo???? y finalmente se agrege el nuevo valor a la bd!!!!

estoy trabajando con c# y sql 2008.....
espero m puedan ayudar
el vico - Claro que si Jessik Unregistered | 2010-07-15 13:44:17
Claro que si Jessik
puedes agregarme al comunidad.viconet@hotmail.es

SALUDOS
Carlos - wow Unregistered | 2010-08-22 02:07:19
No manches de vdd q te lo agradezco es justo lo que me hace falta para mi fucking proyecto me salvaste mil gracias dvvd no tengo otra palabra
siendo las 26 am me acabas de salvar!!!
Tania - De combobox a textbox Unregistered | 2010-08-22 08:37:11
Hola estoy realizando un programa para una boutique y tengo en un formulario varios combobox que han sido llenados desde la base de datos.
Ahora mi problema es que requiero pasar datos de varios de los combos a un textbox, para formar una clave compuesta. Es decir, yo selecciono de un combo el color y en el textbox me debe ir apareciendo la inicial de ese color, para ir formando la referencia o id de ese artìculo.
Alguien me podrìa ayudar????
Muchas gracias.
Tania Unregistered | 2010-08-22 14:02:30
Hola tanoia buenos dias claro que te puedo ayudar puedes agregarme a comunidad.viconet@hotmail.es y lo vemos saludos
Escribir comentario
Nombre:
Tí­tulo:
Código UBB:
[b] [i] [u] [url] [quote] [code] [img] 
 
Security Image

Powered by JoomlaCommentCopyright (C) 2006 Frantisek Hliva. All rights reserved.Homepage: http://cavo.co.nr/

 
 
Descargas
  

Cursos
Microsoft LINQ
  

Silverlight
  

Base de Datos
  

Ajax
  

Crear Graficas
        

Crystal Reports
  

  VicoNet