El formulario podría haber lucido de esta forma
El código se muestra a continuación y el proyecto completo se puede bajar haciendo click aqui. Recuerden cambiar el nombre del servidor en la cadena de conexión.-
Imports System.Data Imports System.Data.SqlClient Public Class Form1 'Declarar el objeto conexión a este nivel permite que funcione en cualquier procedimiento 'del formulario Dim cn As SqlConnection Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Inicializar el objeto conexión cn = New SqlConnection() 'Crear la cadena de conexión asignarla al objeto conexión y abrir la conexión Dim sConexion As String sConexion = "Data Source=D7PPS31\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=true" cn.ConnectionString = sConexion cn.Open() 'Cargar el combo con los Id de los Empleados Dim cmd As SqlCommand = New SqlCommand("SELECT EmployeeID FROM Employees ORDER BY EmployeeID", cn) 'Crear un datareader y llenarlo con el método executereader del objeto command Dim drd As SqlDataReader = cmd.ExecuteReader() 'Con un ciclo cargar los datos en el combo While drd.Read() ComboBox1.Items.Add(drd("EmployeeID")) End While 'Cerrar el datareader drd.Close() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Mostrar los datos 'Una vez seleccionado un dato del ComboBox, se muestran los datos 'Se puede validar que se haya seleccionado algo en el ComboBox If ComboBox1.Text = "" Then MessageBox.Show("Debe seleccionar un ID de Empleado del Combo...") Exit Sub End If Dim cmd As SqlCommand = New SqlCommand("SELECT FirstName + ' ' + LastName as Nombre FROM Employees WHERE EmployeeID='" & ComboBox1.Text & "'", cn) 'Se puede asignar directamente el valor al cuadro de texto destinado para el nombre 'del empleado usando el método ExecuteScalar, ya que solo se espera un valor TextBox1.Text = cmd.ExecuteScalar() 'Ahora buscar todas las ordenes de pedido en la tabla ORDERS y mostrarlas en el ListBox cmd = New SqlCommand("SELECT * FROM Orders WHERE EmployeeID ='" & ComboBox1.Text & "'", cn) Dim drd As SqlDataReader = cmd.ExecuteReader() ListBox1.Items.Clear() While drd.Read ListBox1.Items.Add(drd("EmployeeID").ToString + vbTab + drd("OrderID").ToString + vbTab + drd("OrderDate").ToString + vbTab + drd("ShipAddress")) End While 'Cerrar el DataReader drd.Close() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'Salir del programa, se cierra el formulario actual y se finaliza Me.Close() End End Sub End Class
No hay comentarios:
Publicar un comentario