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")
Escribir comentario
Nombre:
Tí­tulo:
Código UBB:
[b] [i] [u] [url] [quote] [code] [img] 
 

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