la base de datos esta diseñada en SQL Express 2008, la tabla se llama img, los campos son: nombre, comentarios y ruta tal como se muestra:
El ejemplo se realizara en Visual Basic, así que creamos un nuevo proyecto con nombre Controles:
mostrare los tres controles en un mismo formulario con el siguiente diseño:
ahora nos conectaremos a la base de datos, para esto dar click derecho en el proyecto y seleccionar propiedades
y escogemos la pestaña Settings en el lado izquierdo, ademas cambiamos el valor de Name a: con y el de Type a Connection String tal como se muestra
luego en value damos al botón examinar al final del campo
y obtendremos una nueva ventana la cual debe tener los campos siguientes, en mi caso esta llena con mi servidor de base de datos y la base a la que me conectare, pero deberán llenar esto según sean sus especificaciones
damos OK y guardamos los cambios en el Settings del proyecto, luego puede notarse que ya tendremos el app.config en el Solution Explorer de nuestro proyecto
al abrir el app.config, el connectionStrings debería estar así:
<connectionStrings>
<add name="controles.My.MySettings.con" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=imagenes;Integrated Security=True"
providerName="System.Data.SqlClient" />
connectionStrings>
<connectionStrings>
<add name="con" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=imagenes;Integrated Security=True"
providerName="System.Data.SqlClient" />
connectionStrings>
Guardamos y ahora queda añadir una referencia, para esto click derecho sobre el proyecto y añadir referencia tal como se muestra:
Presionando botón ComboBox
listo, ahora en el formulario, fijarse para el caso del ComboBox que para cargar valores debe presionarse el botón ComboBox y que mostrare en este control los valores de la columna comentarios pero al seleccionar una en especifico se mostrara en el textbox el valor de la columna nombre correpondiente, para esto ustedes pueden verificar las propiedades:
ComboBox1.DataSource = DS.Tables(0)
ComboBox1.DisplayMember = "comentarios"
ComboBox1.ValueMember = "nombre"
Así el código para el comboBox queda:
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Public Class Form1
Dim sql As String = ConfigurationManager.ConnectionStrings("con").ConnectionString.ToString
Dim cnn As SqlConnection
Private Sub BComboBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BComboBox.Click
cnn = New SqlConnection(Sql)
Try
cnn.Open()
Dim sentence As String = "select * from img"
Dim DA As New SqlDataAdapter(sentence, cnn)
Dim DS As New DataSet
DA.Fill(DS)
ComboBox1.DataSource = DS.Tables(0)
ComboBox1.DisplayMember = "comentarios"
ComboBox1.ValueMember = "nombre"
Catch ex As Exception
MessageBox.Show(ex.Message.ToString, _
"error", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
Finally
If cnn.State = ConnectionState.Open Then
cnn.Close()
End If
End Try
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
TextBox1.Text = ComboBox1.SelectedValue.ToString
End Sub
End Class
Presionando botón ListBox
Para el ListBox, al presionar el boton ListBox seleccionaremos la columna comentarios de la tabla img y al seleccionar uno en especifico se mostrara el valor de este en el textbox
Private Sub BListBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BListBox.Click
cnn = New SqlConnection(sql)
Try
cnn.Open()
Dim strSQL As String
strSQL = "SELECT comentarios FROM img "
Dim command As New SqlCommand(strSQL, cnn)
Dim reader As SqlDataReader = command.ExecuteReader()
While reader.Read()
ListBox1.Items.Add(reader.GetString(0))
End While
reader.Close()
Catch ex As Exception
MessageBox.Show(ex.Message.ToString, _
"error", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
Finally
If cnn.State = ConnectionState.Open Then
cnn.Close()
End If
End Try
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
TextBox2.Text = ListBox1.SelectedItem.ToString
End Sub
Presionando botón ListView
se mostraran todos los datos de la tabla img al presionar el boton ListView
Private Sub MostrarClientes()
Dim objListItem As New ListViewItem
Me.ListView1.Items.Clear()
For Each drw As DataRow In ds.Tables("img").Rows
objListItem = ListView1.Items.Add(drw.Item("nombre").ToString, 0)
objListItem.SubItems.Add(drw.Item("comentarios").ToString)
objListItem.SubItems.Add(drw.Item("ruta").ToString)
Next
End Sub
Private Sub BListView_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BListView.Click
ListView1.Columns.Clear()
ListView1.CheckBoxes = True
ListView1.Columns.Add("Nombre", 100, HorizontalAlignment.Center)
ListView1.Columns.Add("Comentarios", 100, HorizontalAlignment.Center)
ListView1.Columns.Add("Ruta", 200, HorizontalAlignment.Center)
ListView1.View = View.Details
cnn = New SqlConnection(sql)
cmd = New SqlCommand("SELECT * FROM img", cnn)
da = New SqlDataAdapter(cmd)
cnn.Open()
da.Fill(ds, "img")
cnn.Close()
MostrarClientes()
End Sub
Compilamos, ejecutamos y ya esta.