Empleando Listas y Gridview en VB net

6
Ing. Alberto Moreno C. Empleandola BDD Northwind realizar los siguientes formularios Imports System.Data Imports System.Data.sqlclient Imports System.IO Public Class FrmCategorias Dim Cn As New SqlConnection("Server=(local);Database=Neptuno;Integrated Security=True") Private Sub FrmCategorias_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim sql$ = "Select IdCategoria,NombreCategoria From Categorias" Dim TabCat As New DataTable Dim Da As New SqlDataAdapter(sql, Cn) Da.Fill(TabCat) 'MOSTRAR EN EL LISTBOX Me.LSTCAT.DataSource = TabCat Me.LSTCAT.DisplayMember = "NombreCategoria" Me.LSTCAT.ValueMember = "IdCategoria" Da.Dispose() End Sub

description

Empleando la BDD Northwind ,consultas en cascadas

Transcript of Empleando Listas y Gridview en VB net

Page 1: Empleando Listas y Gridview en VB net

Ing. Alberto Moreno C.

Empleandola BDD Northwind realizar los siguientes formularios

Imports System.DataImports System.Data.sqlclientImports System.IOPublic Class FrmCategorias Dim Cn As New SqlConnection("Server=(local);Database=Neptuno;Integrated Security=True") Private Sub FrmCategorias_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim sql$ = "Select IdCategoria,NombreCategoria From Categorias" Dim TabCat As New DataTable Dim Da As New SqlDataAdapter(sql, Cn) Da.Fill(TabCat) 'MOSTRAR EN EL LISTBOX Me.LSTCAT.DataSource = TabCat Me.LSTCAT.DisplayMember = "NombreCategoria" Me.LSTCAT.ValueMember = "IdCategoria" Da.Dispose() End Sub

Private Sub LSTCAT_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LSTCAT.SelectedIndexChanged Try 'Mostrar productos por categoria

Page 2: Empleando Listas y Gridview en VB net

Ing. Alberto Moreno C.

Dim sql$ = "Select IdProducto,NombreProducto,IdCategoria,PrecioUnidad,UnidadesEnExistencia from productos" _ & " where IdCategoria='" & Me.LSTCAT.SelectedValue & "'" Dim Da As New SqlDataAdapter(sql, Cn) Dim TabProd As New DataTable Da.Fill(TabProd) Me.DGVPROD.DataSource = TabProd Me.LBLTOT.Text = TabProd.Compute("sum(UnidadesEnExistencia)", "")

'Mostrar la Imagen Gráfica Dim Cad$ = "Select Imagen from Categorias where IdCategoria='" & _ Me.LSTCAT.SelectedValue & "'" Dim TblG As New DataTable Dim dat As New SqlDataAdapter(Cad, Cn) dat.Fill(TblG) Dim Bits As Byte() = CType(TblG.Rows(0)("Imagen"), Byte()) Dim Offset As Integer = 78 Dim Ms As New MemoryStream Ms.Write(Bits, Offset, Bits.Length - Offset) 'Grabar el Picture Dim Bitmap As New Bitmap(Ms) Ms.Close() Me.PicImagen.SizeMode = PictureBoxSizeMode.StretchImage Me.PicImagen.Image = Bitmap

Catch ex As Exception End Try End SubEnd Class

Problema 2.- por cada cliente muestre sus pedidos y seleccionandoun pedido que muestre su detalle

Page 3: Empleando Listas y Gridview en VB net

Ing. Alberto Moreno C.

Imports System.Data 'Espacios de NombresImports System.Data.sqlclientPublic Class FrmClientes 'Cadena de Conexión Dim Cn As New SqlConnection _ ("Server=(local); DataBase=Neptuno; Integrated Security=True")

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'AL CARGARSE EL FORMULARIO Try Dim sql$ = "Select IdCliente,NombreCompañia From Clientes" Dim TabCli As New DataTable 'Tabla en Memoria Dim DA As New SqlDataAdapter(sql, Cn) DA.Fill(TabCli) 'LLENAR EN LA TABLA 'PROPIEDADES EN EL COMBOBOX Me.CBOCLIENTES.DataSource = TabCli 'ORIGEN DE DATOS Me.CBOCLIENTES.DisplayMember = "NombreCompañia" Me.CBOCLIENTES.ValueMember = "IdCliente" Catch ex As Exception End Try End Sub

Private Sub CBOCLIENTES_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CBOCLIENTES.SelectedIndexChanged Try 'MOSTRAR LOS PEDIDOS DEL CLIENTE SELECCIONADO Dim Cadsql$ = "Select IdPedido,IdCliente from PEDIDOS " _

Page 4: Empleando Listas y Gridview en VB net

Ing. Alberto Moreno C.

& "WHERE IdCliente='" & Me.CBOCLIENTES.SelectedValue & "'" Dim TabPedidos As New DataTable Dim Da As New SqlDataAdapter(Cadsql, Cn) Da.Fill(TabPedidos) 'PROPIEDADES EN EL LISTBOX Me.LSTCLIENTES.DataSource = TabPedidos 'Origen de datos Me.LSTCLIENTES.DisplayMember = "IdPedido" 'Campo a Mostrar Me.LSTCLIENTES.ValueMember = "IdPedido" 'campo de relación Me.LBLCAN.Text = TabPedidos.Rows.Count 'CANTIDAD DE PEDIDOS Da.Dispose() 'LIBERAR EL OBJETO Catch ex As Exception End Try End Sub Private Sub LSTCLIENTES_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LSTCLIENTES.SelectedIndexChanged Try 'MOSTRAR LOS DETALLES DE PEDIDO DEL PEDIDO SELECCIONADO Dim Sql$ = "Select IdPedido,IdProducto,PrecioUnidad,Cantidad,PrecioUnidad*Cantidad as Importe FROM [Detalles de Pedidos] " _ & "where IdPedido='" & Me.LSTCLIENTES.SelectedValue & "'" Dim Da As New SqlDataAdapter(Sql, Cn) Dim TabDetalle As New DataTable Da.Fill(TabDetalle) Me.DGVDETALLE.DataSource = TabDetalle Me.LBLTOT.Text = TabDetalle.Compute("SUM(IMPORTE)", "") Catch ex As Exception End Try End SubEnd Class

Page 5: Empleando Listas y Gridview en VB net

Ing. Alberto Moreno C.

Imports System.DataImports System.Data.SqlClientPublic Class FrmProveedores Dim Cn As New SqlConnection _ ("Server=(local); DataBase=Neptuno; Integrated Security=True") Private Sub FrmProveedores_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Try Dim sql$ = "Select IdProveedor,NombreCompañia,Ciudad,Pais from Proveedores" Dim TabProv As New DataTable Dim Da As New SqlDataAdapter(sql, Cn) Da.Fill(TabProv) Me.DGVPROV.DataSource = TabProv Da.Dispose() Catch ex As Exception End Try End Sub Private Sub DGVPROV_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DGVPROV.CurrentCellChanged Try Dim CodProv As Integer = _ Me.DGVPROV(0, Me.DGVPROV.CurrentCell.RowIndex).Value Dim sql$ = "Select IdProducto,NombreProducto,IdProveedor,PrecioUnidad from PRODUCTOS " _

Page 6: Empleando Listas y Gridview en VB net

Ing. Alberto Moreno C.

& " WHERE IdProveedor='" & CodProv & "'" Dim tabProd As New DataTable 'tabla en memoria Dim Da As New SqlDataAdapter(sql, Cn) Da.Fill(tabProd) Me.DGVPROD.DataSource = tabProd 'Origen de datos Me.LBLCAN.Text = tabProd.Rows.Count 'cantidad de filas Catch ex As Exception End Try End SubEnd Class