visual para principiantes

118
MANUAL DE VISUAL BASIC PARTE II Nombre: Karen Johana Estrada Aguilar CONSULTAS CON SQL – REPORTING SERVICES CAJAMARCA, 2012

Upload: alberto-rojas

Post on 14-Jan-2017

114 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Visual para principiantes

MANUAL DE VISUAL BASIC PARTE II

Nombre: Karen Johana Estrada Aguilar

CONSULTAS CON SQL –

REPORTING SERVICES

CAJAMARCA, 2012

Page 2: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 1

INDICE CONSULTAS CON SQL EN VISUAL BASIC ........................................................................ 2

Mostrar el registro de la tabla estudiantes: ................................................................ 4

Realizar el ejercicio anterior en una página web: ...................................................... 5

Buscar un alumno filtrado por su código con Radio button: ...................................... 8

Buscar un alumno filtrado por su código con Enter en el Textbox:.......................... 10

Mostrar alumnos o alumnas con radios button ......................................................... 12

UN TOOLsTRIP CON IMÁGENES ...................................................................................... 15

El menúStrip deberá estar acompañado de imágenes: .................................................... 15

Creamos un módulo (Globales) ............................................................................................ 16

AGREGAR UNA CONSULTA A UN LISTBOX .................................................................... 19

EJERCICIOS COMPLEMENTARIOS SOBRE CONSULTAS A BASE DE DATOS

USANDO VISUAL BASIC 2010 ........................................................................................... 32

EJERCICIOS ........................................................................................................................ 47

INSERTAR EN UNA TABLA DE UBA BASE DE DATOS DESDE VISUAL BASIC ........... 59

OBJETO MaskedTextBox ..................................................................................................... 60

CONSULTAR, AGREGAR Y ELIMINAR REGISTROS EN LA TABLA CATEGORÍAS ...... 69

CREAR IN INICIO DE SESIÓN PARA EL SISTEMA .......................................................... 79

Cambiar contraseña desde otro formulario ..................................................................... 82

CREANDO EL SISTEMA DE ASISTENCIA DE LOS ALUMNOS DE INGENIERÍA DE

SISTEMAS A LA XII SEMANA SISTÉMICA ........................................................................ 85

REPORTING SERVICE ........................................................................................................ 94

Page 3: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 2

CONSULTAS CON SQL EN VISUAL BASIC

Para hacer una consulta desde Visual Studio a una base de datos hacemos:

Primero creamos una tabla Estudiantes en Sql Sever Managament

Pasamos los registros de los alumnos en un documento Csv (separado por comas),

ejecutando la siguiente consulta:

use Asistencia_Semana_Sistémica

bulk

insert dbo.PARTICIPANTES

from 'I:\alumnos2.csv'

with

(

fieldterminator=',', --separa a los campos, cambia de campo

rowterminator='\n' -- cambia de filas por el enter

)

Page 4: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 3

CREAMOS UN FORMULARIO EN VISUAL STUDIO

Ponemos la cabecera que funcionaría como una biblioteca: Imports

System.Data.SqlClient

Realizamos la conexión a la Base de Datos creando el objeto conex (conex es un objeto

que guarda la ubicación de la base de datos ya sabe dónde está, es un camino)

Dim conex As New SqlConnection("server=.;database=Northwind;trusted_connection=true")

Hacemos una consulta con SQLDataAadapter

Dim datos As New SqlDataAdapter("select* from EMPLOYEES", conex)

Creamos un objeto DataSet

Dim ds As New Data.DataSet

Llenamos los registros obtenidos por la consulta en un DataGridView

datos.Fill(ds, "Alumnos")

DGV1.DataSource = ds.Tables("Alumnos")

El código en Visual Studio es:

Page 5: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 4

Ejemplo:

Mostrar el registro de la tabla estudiantes:

Imports System.Data.SqlClient

Public Class Form1

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

Dim conex As New

SqlConnection("server=MIK3\io;database=Northwind1;trusted_connection=true") 'conex es un

objeto que guarda la ubicacion de la base de datos ya sabe donde esta, es un camino

Dim datos As New SqlDataAdapter("select* from Estudiante", conex)

Dim ds As New Data.DataSet

datos.Fill(ds, "Alumnos")

DGV1.DataSource = ds.Tables("Alumnos")

End Sub

End Class

Page 6: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 5

Realizar el ejercicio anterior en una página web:

1° Creamos un nuevo proyecto y escogemos en planillas instaladas la opción Web:

Page 7: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 6

2° Escogemos la opción Aplicación web ASP.NET:

3° Se observa el entorno así:

4° Agregamos un nuevo elemento un (Formulario):

Page 8: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 7

Escogemos un DataGridView y lo arrastramos sobre el formulario:

Escribimos el código:

Page 9: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 8

Cargó:

Buscar un alumno filtrado por su código con Radio button:

Consulta SQL:

create proc buscar_alumnos

@id char(10)

as

select *

from Estudiante

where Id_estudiante=@id

Imports System.Data.SqlClient

Public Class Form1

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles

Button1.Click

Dim conex As New

SqlConnection("server=.;database=Northwind;trusted_connection=true")

Dim datos As New SqlDataAdapter("buscar_alumnos", conex)

Page 10: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 9

Dim ds As New Data.DataSet

datos.SelectCommand.CommandType = CommandType.StoredProcedure '***

datos.SelectCommand.Parameters.Add("@id", SqlDbType.Char, 10).Value =

TextBox1.Text

datos.Fill(ds, "alumnitos")

DGV.DataSource = ds.Tables("Alumnitos")

End Sub

End Class

Diseño del formulario:

Page 11: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 10

Buscar un alumno filtrado por su código con Enter en el Textbox:

En el evento keypress del textbox hacemos la conexión y el código:

Imports System.Data.SqlClient

Public Class Form2

Private Sub TextBox1_KeyPress(sender As Object, e As

System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

If e.KeyChar = Chr(13) Then

Dim conex As New

SqlConnection("server=.;database=Northwind;trusted_connection=true")

Dim datos As New SqlDataAdapter("buscar_alumnos", conex)

Dim ds As New Data.DataSet

datos.SelectCommand.CommandType = CommandType.StoredProcedure

datos.SelectCommand.Parameters.Add("@id", SqlDbType.Char, 10).Value =

TextBox1.Text

datos.Fill(ds, "alumnitos")

DGV.DataSource = ds.Tables("Alumnitos")

TextBox1.Text = ""

TextBox1.Focus()

End If

End Sub

Page 12: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 11

Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

TextBox1.Focus()

End Sub

Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs)

Handles TextBox1.TextChanged

TextBox1.Focus()

End Sub

End Class

Filtrar alumno por apellido:

Imports System.Data.SqlClient

Public Class Form4

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As

System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

If e.KeyChar = Chr(13) Then

Dim conex As New

SqlConnection("server=MIK3\io;database=Northwind1;trusted_connection=true")

Dim datos As New SqlDataAdapter("apell", conex) ' "selec * from Estudiante where

Id_estudiante=@id" (la linea *** no seria)

Dim ds As New Data.DataSet

datos.SelectCommand.CommandType = CommandType.StoredProcedure '***

Page 13: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 12

datos.SelectCommand.Parameters.Add("@ape", SqlDbType.Char, 10).Value =

TextBox1.Text

datos.Fill(ds, "alumnitos") 'ejecuta el data adapter, que abre la conexion

DGV.DataSource = ds.Tables("alumnitos")

TextBox1.Text = ""

TextBox1.Focus()

End If

End Sub

End Class

Mostrar alumnos o alumnas con radios button

Dim conex1 As New

SqlConnection("server=MIK3\io;database=Northwind1;trusted_connection=true")

If RadioButton1.Checked = True Then

Dim datos As New SqlDataAdapter("sexo", conex1)

Dim ds As New Data.DataSet

datos.SelectCommand.CommandType = CommandType.StoredProcedure '***

datos.SelectCommand.Parameters.Add("@sex", SqlDbType.Char, 1).Value = 1

datos.Fill(ds, "Alumnos")

DGV.DataSource = ds.Tables("Alumnos")

ElseIf RadioButton2.Checked = True Then

Dim datos1 As New SqlDataAdapter("sexo", conex1)

Dim ds1 As New Data.DataSet

datos1.SelectCommand.CommandType = CommandType.StoredProcedure '***

datos1.SelectCommand.Parameters.Add("@sex", SqlDbType.Char, 1).Value = 2

datos1.Fill(ds1, "Alumnos")

DGV.DataSource = ds1.Tables("Alumnos")

End If

Page 14: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 13

Page 15: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 14

En un sistema realizar el mantenimiento en consultas:

Page 16: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 15

UN TOOLsTRIP CON IMÁGENES

EN CONSULTA HACEMOS LOS SIGUIENTES FORMULARIO:

El menúStrip deberá estar acompañado de imágenes:

Page 17: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 16

Creamos un módulo (Globales)

Page 18: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 17

Escribimos el siguiente Código:

Module GLOBALES

Public CONEX As New

System.Data.SqlClient.SqlConnection("server=MIK3\io;database=Northwind1;trusted_connect

ion=true")

End Module

HACEMOS EL PROCEDIMIENTO ALMACENADO:

create PROC consulta1

AS

SELECT CATEGORYNAME, COUNT(*) AS TOTAL

FROM Categories AS C

INNER JOIN Products AS P

ON C.CategoryID=P.CategoryID

GROUP BY CategoryName

ORDER BY CategoryName

EN VISUAL BASIC:

Imports System.Data.SqlClient

Public Class CONSULTA1

Private Sub CONSULTA1_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

Dim datos As New SqlDataAdapter("consulta1", CONEX)

Dim DS As New Data.DataSet

datos.SelectCommand.CommandType = CommandType.StoredProcedure

datos.Fill(DS, "QUERY1")

DGV.DataSource = DS.Tables("QUERY1")

End Sub

End Class

CREATE PROC CONSULTA2

@CATE INT

AS

SELECT

ProductID,ProductName,UnitPrice,UnitsInStock,COMPANYNAME,CategoryID

Page 19: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 18

FROM Products AS P INNER JOIN Suppliers AS S ON P.SupplierID=S.SupplierID

WHERE CategoryID=@CATE

Imports System.Data.SqlClient

Public Class consulta02

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles ListBox1.SelectedIndexChanged

Dim datos As New SqlDataAdapter("query2", conex)

datos.SelectCommand.CommandType = CommandType.StoredProcedure

datos.SelectCommand.Parameters.Add("@cate", SqlDbType.Int).Value =

ListBox1.SelectedValue

Dim ds As New Data.DataSet

datos.Fill(ds, "query2")

DGV2.DataSource = ds.Tables("query2")

End Sub

Private Sub consulta02_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

'TODO: esta línea de código carga datos en la tabla 'NorthwindDataSet.Categories'

Puede moverla o quitarla según sea necesario.

Me.CategoriesTableAdapter.Fill(Me.NorthwindDataSet.Categories)

End Sub

End Class

Page 20: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 19

AGREGAR UNA CONSULTA A UN LISTBOX

Page 21: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 20

Page 22: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 21

Page 23: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 22

Asignar los valores correspondientes al listbox

Page 24: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 23

Consultar entre dos precios.

CREATE PROC CONSULTA3

@ls float,

@li float

AS

SELECT ProductName,UnitPrice,Categoryname,COMPANYNAME

FROM Products AS P INNER JOIN Suppliers AS S ON P.SupplierID=S.SupplierID

inner join Categories as c on P.CategoryID=c.CategoryID

WHERE UnitPrice between @ls and @li

Imports System.Data.SqlClient

Public Class consulta03

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles

Button1.Click

Dim datos As New SqlDataAdapter("consulta3", conex)

datos.SelectCommand.CommandType = CommandType.StoredProcedure

datos.SelectCommand.Parameters.Add("@ls", SqlDbType.Int).Value = TextBox1.Text

datos.SelectCommand.Parameters.Add("@li", SqlDbType.Int).Value = TextBox2.Text

Dim ds As New Data.DataSet

datos.Fill(ds, "query3")

Page 25: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 24

DGV3.DataSource = ds.Tables("query3")

End Sub

End Class

Consultar productos q empiecen con una determinada letra.

CREATE proc CONSULTAS4

@X NVARCHAR (40)

AS

SELECT ProductName, UnitPrice,CategoryID,SupplierID

FROM Products

WHERE ProductName LIKE @X + '%'

Imports System.Data.SqlClient

Public Class consulta04

Private Sub TextBox1_KeyPress(sender As Object, e As

System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

Dim datos As New SqlDataAdapter("consultas4", conex)

datos.SelectCommand.CommandType = CommandType.StoredProcedure

Page 26: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 25

datos.SelectCommand.Parameters.Add("@x", SqlDbType.VarChar).Value = TextBox1.Text

Dim ds As New Data.DataSet

datos.Fill(ds, "query4")

DGV4.DataSource = ds.Tables("query4")

End Sub

End Class

Filtrar por el nombre del producto.

CREATE PROC CONSULTA5

@N INT

AS

SELECT PRODUCTNAME, UNITPRICE,UNITSINSTOCK,SUPPLIERID

FROM Products

WHERE SupplierID=@N

Imports System.Data.SqlClient

Public Class consulta05

Page 27: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 26

Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As

System.EventArgs) Handles ListBox1.SelectedIndexChanged

Dim datos As New SqlDataAdapter("consulta5", conex)

datos.SelectCommand.CommandType = CommandType.StoredProcedure

datos.SelectCommand.Parameters.Add("@n", SqlDbType.Int).Value =

ListBox1.SelectedValue

Dim ds As New Data.DataSet

datos.Fill(ds, "query5")

DGV5.DataSource = ds.Tables("query5")

End Sub

Private Sub consulta05_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

Me.SuppliersTableAdapter1.Fill(Me.Northwind1DataSet2.Suppliers)

End Sub

End Class

Page 28: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 27

Filtrar por número de orden:

CREATE PROC CONSULTA6

@N INT

AS

SELECT O.OrderID,P.PRODUCTID,P.PRODUCTNAME,P.UNITPRICE,OD.QUANTITY

FROM [Order Details] AS OD INNER JOIN ORDERS AS O ON

O.OrderID=OD.OrderID INNER JOIN PRODUCTS AS P

ON P.ProductID=OD.ProductID

WHERE O.OrderID=@N

Imports System.Data.SqlClient

Public Class consulta06

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles

Button1.Click

Dim datos As New SqlDataAdapter("consulta6", conex)

datos.SelectCommand.CommandType = CommandType.StoredProcedure

datos.SelectCommand.Parameters.Add("@n", SqlDbType.Int).Value = TextBox1.Text

Dim ds As New Data.DataSet

datos.Fill(ds, "query6")

DGV6.DataSource = ds.Tables("query6")

End Sub

End Class

Page 29: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 28

Con radiobutton mostrar los productos con stock o sin stock.

CREATE PROC CONSULTA7

AS

SELECT PRODUCTiD, PRODUCTNAME,UNITPRICE,UNITSINSTOCK

FROM Products

WHERE UnitsInStock=0

CREATE PROC CONSULTAS7

AS

SELECT PRODUCTiD, PRODUCTNAME,UNITPRICE,UNITSINSTOCK

FROM Products

WHERE UnitsInStock!=0

Imports System.Data.SqlClient

Public Class consulta07

Private Sub RadioButton1_CheckedChanged(sender As System.Object, e As

System.EventArgs) Handles RadioButton1.CheckedChanged

Dim datos As New SqlDataAdapter("consultas7", conex)

datos.SelectCommand.CommandType = CommandType.StoredProcedure

Dim ds As New Data.DataSet

datos.Fill(ds, "query7")

DGV7.DataSource = ds.Tables("query7")

End Sub

Private Sub RadioButton2_CheckedChanged(sender As System.Object, e As

System.EventArgs) Handles RadioButton2.CheckedChanged

Dim datos As New SqlDataAdapter("consulta7", conex)

datos.SelectCommand.CommandType = CommandType.StoredProcedure

Dim ds As New Data.DataSet

datos.Fill(ds, "query8")

DGV7.DataSource = ds.Tables("query8")

End Sub

End Class

Page 30: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 29

Page 31: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 30

Mostrar los productos discontinuados.

CREATE PROC CONSU8

@N INT

AS

SELECT PRODUCTID, PRODUCTNAME,UNITPRICE,DISCONTINUED

FROM Products

WHERE Discontinued=@N

Imports System.Data.SqlClient

Public Class consulta08

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles CheckBox1.CheckedChanged

Dim datos As New SqlDataAdapter("consu8", conex)

datos.SelectCommand.CommandType = CommandType.StoredProcedure

datos.SelectCommand.Parameters.Add("@n", SqlDbType.Bit).Value = CheckBox1.Checked

Dim ds As New Data.DataSet

datos.Fill(ds, "query9")

DGV8.DataSource = ds.Tables("query9")

End Sub

End Class

Page 32: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 31

Page 33: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 32

EJERCICIOS COMPLEMENTARIOS SOBRE CONSULTAS A BASE DE DATOS USANDO

VISUAL BASIC 2010

Programación Aplicada I

1.

Modo Diseño:

Consultas en SQL:

create proc TipBusComienza

@t nvarchar(40)

as

select ProductId, ProductName, UnitPrice, UnitsInStock, Categoryname, Companyname

from Products as p inner join Categories as c on c.CategoryID=p.CategoryID inner join

Suppliers as s on s.SupplierID=p.SupplierID

where ProductName like @t+ '%'

Page 34: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 33

create proc TipBusTermina

@t nvarchar(40)

as

select ProductId, ProductName, UnitPrice, UnitsInStock, Categoryname, Companyname

from Products as p inner join Categories as c on c.CategoryID=p.CategoryID inner join

Suppliers as s on s.SupplierID=p.SupplierID

where ProductName like '%'+@t

create proc TipBusContiene

@t nvarchar(40)

as

select ProductId, ProductName, UnitPrice, UnitsInStock, Categoryname, Companyname

from Products as p inner join Categories as c on c.CategoryID=p.CategoryID inner join

Suppliers as s on s.SupplierID=p.SupplierID

where ProductName like '%'+@t+'%'

create proc TipBusNoContiene

@t nvarchar(40)

as

select ProductId, ProductName, UnitPrice, UnitsInStock, Categoryname, Companyname

from Products as p inner join Categories as c on c.CategoryID=p.CategoryID inner join

Suppliers as s on s.SupplierID=p.SupplierID

where ProductName not like '%'+@t+'%'

create proc TipBusIgualA

@t nvarchar(40)

as

select ProductId, ProductName, UnitPrice, UnitsInStock, Categoryname, Companyname

from Products as p inner join Categories as c on c.CategoryID=p.CategoryID inner join

Suppliers as s on s.SupplierID=p.SupplierID

where ProductName =@t

Page 35: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 34

Código:

Imports System.Data.SqlClient Public Class Form1 Dim var1, var2, var3 As String Private Sub TextBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If e.KeyChar = Chr(13) Then Select Case (ListBox1.SelectedIndex) Case 0 var1 = "TipBusComienza" Case 1 var1 = "TipBusTermina" Case 2 var1 = "TipBusContiene" Case 3 var1 = "TipBusNoContiene" Case 4 var1 = "TipBusIgualA" End Select If ListBox1.SelectedIndex Then TextBox1.Focus() End If TextBox1.Focus() Dim conex As New SqlConnection("server=.;database=Northwind;trusted_connection=true") Dim datos As New SqlDataAdapter(var1, conex) Dim ds As New Data.DataSet datos.SelectCommand.CommandType = CommandType.StoredProcedure '*** datos.SelectCommand.Parameters.Add("@t", SqlDbType.NVarChar, 40).Value = TextBox1.Text datos.Fill(ds, "Query1") DGV.DataSource = ds.Tables("Query1") TextBox1.Text = "" TextBox1.Focus() End If End Sub End Class

Page 36: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 35

Pantallas:

Page 37: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 36

Page 38: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 37

Modo Diseño:

Consultas en SQL:

create proc selec1

as

select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued

from Products

where UnitsinStock!=0

create proc selec2

as

select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued

from Products

where Discontinued=0

create proc selec3

@cat int

Page 39: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 38

as

select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued

from Products

where CategoryID=@cat

create proc selec4

as

select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued

from Products

Código:

Imports System.Data.SqlClient Public Class Form2 Dim var1, var2 As String Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim conex As New SqlConnection("server=.;database=Northwind;trusted_connection=true") If RadioButton1.Checked = True Then var1 = "selec1" Dim datos2 As New SqlDataAdapter(var1, conex) Dim ds2 As New Data.DataSet datos2.SelectCommand.CommandType = CommandType.StoredProcedure '*** datos2.Fill(ds2, "Query1") DGV.DataSource = ds2.Tables("Query1") ElseIf RadioButton2.Checked = True Then var1 = "selec2" Dim datos As New SqlDataAdapter("selec2", conex) Dim ds As New Data.DataSet datos.SelectCommand.CommandType = CommandType.StoredProcedure '*** datos.Fill(ds, "Query2") DGV.DataSource = ds.Tables("Query2") ElseIf RadioButton3.Checked = True Then var1 = "selec3" Dim datos1 As New SqlDataAdapter(var1, conex) Dim ds1 As New Data.DataSet datos1.SelectCommand.CommandType = CommandType.StoredProcedure '*** datos1.SelectCommand.Parameters.Add("@cat", SqlDbType.NVarChar, 40).Value = TextBox1.Text datos1.Fill(ds1, "Query3") DGV.DataSource = ds1.Tables("Query3") ElseIf RadioButton4.Checked = True Then var1 = "selec4" Dim datos As New SqlDataAdapter(var1, conex) Dim ds As New Data.DataSet datos.SelectCommand.CommandType = CommandType.StoredProcedure '*** datos.Fill(ds, "Query4") DGV.DataSource = ds.Tables("Query4") End If End Sub End Class

Page 40: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 39

Pantallas:

Page 41: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 40

Page 42: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 41

2.

Modo Diseño:

Consultas en SQL:

create proc selec1

as

select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued

from Products

where UnitsinStock!=0

create proc selec2

as

select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued

from Products

where Discontinued=0

create proc selec3

@cat int

as

select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued

from Products

Page 43: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 42

where CategoryID=@cat

create proc selec4

as

select ProductName, UnitPrice, UnitsinStock, CategoryID, Discontinued

from Products

Código:

Imports System.Data.SqlClient Public Class Form3 Dim var1 As String Private Sub RadioButton1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RadioButton3.CheckedChanged, RadioButton2.CheckedChanged, RadioButton1.CheckedChanged, RadioButton4.CheckedChanged Dim conex As New SqlConnection("server=.;database=Northwind;trusted_connection=true") If RadioButton1.Checked = True Then var1 = "selec1" Dim datos2 As New SqlDataAdapter(var1, conex) Dim ds2 As New Data.DataSet datos2.SelectCommand.CommandType = CommandType.StoredProcedure '*** datos2.Fill(ds2, "Query1") DGV.DataSource = ds2.Tables("Query1") ElseIf RadioButton2.Checked = True Then var1 = "selec2" Dim datos As New SqlDataAdapter("selec2", conex) Dim ds As New Data.DataSet datos.SelectCommand.CommandType = CommandType.StoredProcedure '*** datos.Fill(ds, "Query2") DGV.DataSource = ds.Tables("Query2") ElseIf RadioButton3.Checked = True Then If RadioButton3.Checked Then TextBox1.Enabled = True Else TextBox1.Enabled = False End If TextBox1.Focus() ElseIf RadioButton4.Checked = True Then var1 = "selec4" Dim datos As New SqlDataAdapter(var1, conex) Dim ds As New Data.DataSet datos.SelectCommand.CommandType = CommandType.StoredProcedure '*** datos.Fill(ds, "Query4") DGV.DataSource = ds.Tables("Query4") End If End Sub Private Sub TextBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If e.KeyChar = Chr(13) Then TextBox1.Focus() Dim conex As New SqlConnection("server=.;database=Northwind;trusted_connection=true") Dim datos As New SqlDataAdapter("selec3", conex) Dim ds As New Data.DataSet datos.SelectCommand.CommandType = CommandType.StoredProcedure '*** datos.SelectCommand.Parameters.Add("@cat", SqlDbType.NVarChar, 40).Value = TextBox1.Text datos.Fill(ds, "Query3") DGV.DataSource = ds.Tables("Query3") TextBox1.Text = "" TextBox1.Focus() End If End Sub End Class

Page 44: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 43

Pantallas:

Page 45: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 44

Page 46: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 45

3.

Modo Diseño:

Código:

Consulta SQL:

create proc ejercicio4

@fecha datetime

as

select o.OrderId, (OrderDate), ProductName, p.UnitPrice , Quantity

Imports System.Data.SqlClient Public Class Form4 Private Sub MonthCalendar1_DateChanged(sender As System.Object, e As System.Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateChanged TextBox1.Text = MonthCalendar1.SelectionStart Dim traerdatos As New SqlDataAdapter("ejercicio4", conex2) traerdatos.SelectCommand.CommandType = CommandType.StoredProcedure traerdatos.SelectCommand.Parameters.Add("@fecha", SqlDbType.DateTime).Value = MonthCalendar1.SelectionStart 'fill = es abre la conexion, ejecuta la consulta Dim contenedordatos As New Data.DataSet traerdatos.Fill(contenedordatos, "con categoria") DataGridView1.DataSource = contenedordatos.Tables("con categoria") End Sub Private Sub Form4_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load TextBox1.Enabled = False End Sub End Class

Page 47: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 46

from Products as p

inner join [Order Details] as od on od.ProductID =p.ProductID

inner join Orders as o on o.OrderID =od.OrderID

where @fecha=OrderDate

Pantallas:

Page 48: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 47

EJERCICIOS

1.

Categorías

categoriId categorYname Descripción

create proc categorias

as

select CategoryID,CategoryName,Description

from Categories

Productos

productoid

productname unitprice categoriId

create proc productos

@cat int

as

select ProductID,ProductName,UnitPrice,CategoryID

from (Products)

where CategoryID=@cat

Imports System.Data.SqlClient

Public Class consulta13

Private Sub consulta13_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

'TODO: This line of code loads data into the 'Northwind1DataSet.Categories' table. You

can move, or remove it, as needed.

Me.CategoriesTableAdapter1.Fill(Me.Northwind1DataSet.Categories)

End Sub

Dim conex As New SqlConnection("Data Source=MIK3\io;Initial

Catalog=Northwind1;Integrated Security=True")

Private Sub DGVCAB_CellEnter(sender As Object, e As

System.Windows.Forms.DataGridViewCellEventArgs) Handles DGVCAB.CellEnter

Dim detalle As New SqlDataAdapter("select ProductID ,ProductName ,UnitPrice

,CategoryID from Products where CategoryID =@cate", conex)

Dim DB As New Data.DataSet

Page 49: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 48

detalle.SelectCommand.Parameters.Add("@cate", SqlDbType.Int).Value =

DGVCAB.Rows(e.RowIndex).Cells(0).Value

detalle.Fill(DB, "detalle")

DGVDET.DataSource = DB.Tables("detalle")

End Sub

End Class

Page 50: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 49

1.

ORDERS

ORDERID ORDERDATE FREIGHT

create proc ord

as

SELECT OrderID, OrderDate,Freight

FROM Orders

ORDERDETAILS

Page 51: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 50

ORDERID

DISCOUNT PRODUCTID PRODUCTNAME

UNITPRICE

QUANTITI

create proc ordet

@n int

as

SELECT OrderID,Discount,P.ProductID,ProductnAME,P.UnitPrice

FROM [Order Details] OD INNER JOIN Products P ON P.ProductID=OD.ProductID

where OrderID=@n

Imports System.Data.SqlClient

Public Class CONSULTA14

Private Sub CONSULTA14_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

Dim datos As New SqlDataAdapter("ord", conex)

datos.SelectCommand.CommandType = CommandType.StoredProcedure

Dim ds As New Data.DataSet

datos.Fill(ds, "consulta14")

DataGridView1.DataSource = ds.Tables("consulta14")

End Sub

Private Sub DataGridView1_CellEnter(ByVal sender As Object, ByVal e As

System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEnter

Dim datos As New SqlDataAdapter("ordet", conex)

datos.SelectCommand.CommandType = CommandType.StoredProcedure

datos.SelectCommand.Parameters.Add("@n", SqlDbType.Int).Value =

DataGridView1.Rows(e.RowIndex).Cells(0).Value

Dim ds As New Data.DataSet

datos.Fill(ds, "consulta141")

DataGridView2.DataSource = ds.Tables("consulta141")

End Sub

End Class

Page 52: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 51

2.

MOSTRAR LA FOTO DEL EMPLEADO SELECCIONADO

Me.EmployeesTableAdapter.Fill(Me.Northwind1DataSet3.Employees)

Imports System.Data.SqlClient

Public Class consulta15

Dim n As Integer

EMPLEADOID FIRSTNAME LASTNAME

ADRESS CITY COUNTRY

Page 53: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 52

Dim conex As New SqlConnection("Data Source=MIK3\io;Initial

Catalog=Northwind1;Integrated Security=True")

Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As

System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

n = DataGridView1.Rows(e.RowIndex).Cells(0).Value

PictureBox1.Image = Image.FromFile(CStr(n) + ".jpg")

End Sub

Private Sub consulta15_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

Me.EmployeesTableAdapter.Fill(Me.Northwind1DataSet3.Employees)

End Sub

End Class

Page 54: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 53

3.

EMPLEADOS

EMPLOYEEID LASTNAME FIRSTNAME

Me.EmployeesTableAdapter.Fill(Me.Northwind1DataSet.Employees)

ÓRDENES REALIZADAS POR: (Nombe completo del empleado)

OrderID OrderDate EmployeeId

CREATE proc ordxemp

@e int

as

select orderid,orderdate, employeeid

from orders

where employeeid=@e

Productos Comprados en la orden: (OrderId)

OrderId ProductID Productname UnitPrice quantity

CREATE PROC CON3

@O INT

AS

SELECT O.ORDERID, P.ProductID, PRODUCTNAME, P.UNITPRICE,QUANTITY

FROM PRODUCTS P INNER JOIN [ORDER DETAILS] OD ON OD.PRODUCTID=P.ProductID

INNER JOIN ORDERS O ON O.ORDERID=OD.ORDERID

WHERE O.ORDERID=@O

Imports System.Data.SqlClient

Public Class Form3

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load

Page 55: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 54

Me.EmployeesTableAdapter.Fill(Me.Northwind1DataSet.Employees)

End Sub

Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As

System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick

Dim datos As New SqlDataAdapter("ordxemp", conex)

datos.SelectCommand.CommandType = CommandType.StoredProcedure

datos.SelectCommand.Parameters.Add("@e", SqlDbType.Int).Value =

DataGridView1.Rows(e.RowIndex).Cells(0).Value

Dim ds As New Data.DataSet

datos.Fill(ds, "consulta141")

DataGridView2.DataSource = ds.Tables("consulta141")

Label2.Text = DataGridView1.Rows(e.RowIndex).Cells(1).Value + " " +

DataGridView1.Rows(e.RowIndex).Cells(2).Value

End Sub

Private Sub DataGridView2_CellClick(ByVal sender As Object, ByVal e As

System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView2.CellClick

Dim datos As New SqlDataAdapter("CON3", conex)

datos.SelectCommand.CommandType = CommandType.StoredProcedure

datos.SelectCommand.Parameters.Add("@O", SqlDbType.Int).Value =

DataGridView2.Rows(e.RowIndex).Cells(0).Value

Dim ds As New Data.DataSet

datos.Fill(ds, "consulta141")

DataGridView3.DataSource = ds.Tables("consulta141")

Label4.Text = DataGridView2.Rows(e.RowIndex).Cells(0).Value

End Sub

End Class

Page 56: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 55

Page 57: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 56

Page 58: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 57

Page 59: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 58

Page 60: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 59

INSERTAR EN UNA TABLA DE UBA BASE DE DATOS DESDE VISUAL BASIC

EN ESTA OPORTUNIDAD PRIMERO CREAREMOS UNA TABLA “PERSONA”

CON LOS SIGUIENTES CAMPOS:

CREAMOS EL PROCEDIMIENTO ALMACENADO QUE NOS PERMITIRÁ INSERTAR

UNA NUEVA PERSONA

CREATE PROC INSERTAR_PERSO

@ID CHAR (8),

@N VARCHAR(30),

@A VARCHAR(40),

@E VARCHAR(50),

@G CHAR(1),

@EC CHAR(1),

@FN DATETIME

AS

INSERT INTO PERSONAS

VALUES (@ID,@N,@A,@E,@G,@EC,@FN)

Page 61: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 60

VERIFICAMOS EJECUTANDO EL PROCEDIMIENTO ALMACENADO

INSERTAR_PERSO

EXEC INSERTAR_PERSO '47060664','KAREN JOHANA','ESTRADA

AGUILAR','[email protected]','F','S','22/10/1991'

HACEMOS LA SIGUIENTE CONSULTA PARA VERIFICAR:

SELECT *

FROM PERSONAS

OBTENIENTO EL SIGUIENTE RESULTADO:

OBJETO MaskedTextBox

CAMBIAR LA MASCARA

Page 62: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 61

INSERTAR UNA PERSONA:

Imports System.Data.SqlClient

Public Class Form1

Sub limpiar_ingreso()

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox6.Text = ""

MaskedTextBox1.Text = ""

TextBox1.Focus()

End Sub

Sub cargar_datos()

Dim datos As New SqlDataAdapter(" select * from Personas", conex)

Dim ds As New Data.DataSet

datos.Fill(ds, "Tabla")

DataGridView1.DataSource = ds.Tables("Tabla")

End Sub

Page 63: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 62

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles

Button1.Click

Dim respuesta As Integer

Dim sexo As Char

Dim insert_per As New SqlCommand("insertar_perso", conex)

If RadioButton1.Checked = True Then

sexo = "F"

ElseIf RadioButton2.Checked = True Then

sexo = "M"

End If

insert_per.CommandType = CommandType.StoredProcedure

insert_per.Parameters.Add("@id", SqlDbType.Char, 8).Value = TextBox1.Text

insert_per.Parameters.Add("@n", SqlDbType.VarChar, 30).Value = TextBox2.Text

insert_per.Parameters.Add("@a", SqlDbType.VarChar, 40).Value = TextBox3.Text

insert_per.Parameters.Add("@e", SqlDbType.VarChar, 50).Value = TextBox4.Text

insert_per.Parameters.Add("@g", SqlDbType.Char, 1).Value = sexo

insert_per.Parameters.Add("@ec", SqlDbType.Char, 1).Value = TextBox6.Text

insert_per.Parameters.Add("@fn", SqlDbType.DateTime).Value =

CDate(MaskedTextBox1.Text)

conex.Open()

respuesta = insert_per.ExecuteNonQuery

conex.Close()

If respuesta = 1 Then

MessageBox.Show("Se grabó el registro")

limpiar_ingreso()

cargar_datos()

End If

End Sub

End Class

Page 64: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 63

Page 65: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 64

Ahora creamos la tabla “libros”

LA TABLA EDITORIAL Y LA TABLA AUTOR

Page 66: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 65

LLENAMOS LAS TABLA EDITORIALES Y AUTORES CON ALGUNOS DATOS:

Page 67: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 66

CREAMOS UN PROCEDIMIENTO ALMACENADO QUE NOS PERMITA INSERTAR

NUEVOS LIBROS:

use Northwind1

CREATE proc inserlibros

@t varchar(50),

@ide int,

@e varchar(50),

@a datetime,

@ida int

as

insert into Libros

(Titulo,IDEditorial,Edicion,AÑO_PUBLICACION,Autor)

values(@t,@ide,@e,@a,@ida)

Imports System.Data.SqlClient

Public Class Form2

Sub limpiar_ingreso()

TextBox1.Text = ""

TextBox2.Text = ""

MaskedTextBox1.Text = ""

TextBox1.Focus()

End Sub

Sub cargar_datos()

Page 68: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 67

Dim datos As New SqlDataAdapter(" select * from Libros", conex)

Dim ds As New Data.DataSet

datos.Fill(ds, "Tabla")

DataGridView1.DataSource = ds.Tables("Tabla")

End Sub

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load

Me.AUTORESTableAdapter.Fill(Me.Northwind1DataSet1.AUTORES)

Me.EDITORIALESTableAdapter1.Fill(Me.Northwind1DataSet.EDITORIALES)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

Dim respuesta As Integer

Dim insert_per As New SqlCommand("inserlibros", conex)

insert_per.CommandType = CommandType.StoredProcedure

insert_per.Parameters.Add("@t", SqlDbType.VarChar, 50).Value = TextBox1.Text

insert_per.Parameters.Add("@ide", SqlDbType.Int).Value = ListBox1.SelectedValue

insert_per.Parameters.Add("@e", SqlDbType.VarChar, 50).Value = TextBox2.Text

insert_per.Parameters.Add("@a", SqlDbType.DateTime).Value = MaskedTextBox1.Text

insert_per.Parameters.Add("@ida", SqlDbType.Int).Value = ListBox2.SelectedValue

conex.Open()

respuesta = insert_per.ExecuteNonQuery

conex.Close()

If respuesta = 1 Then

MessageBox.Show("Se grabó el registro")

limpiar_ingreso()

cargar_datos()

End If

End Sub

End Class

Page 69: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 68

Page 70: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 69

CONSULTAR, AGREGAR Y ELIMINAR REGISTROS EN LA TABLA CATEGORÍAS

Creamos un origen de datos, escogiendo los campos Category ID, Category Name,

Description de la tabla Categories:

Page 71: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 70

Arrastramos este hacia el formulario teniendo lo siguiente:

Código generado automáticamente:

Public Class Form1

Private Sub CategoriesBindingNavigatorSaveItem_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles CategoriesBindingNavigatorSaveItem.Click

Me.Validate()

Me.CategoriesBindingSource.EndEdit()

Me.TableAdapterManager.UpdateAll(Me.Northwind1DataSet)

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load

'TODO: This line of code loads data into the 'Northwind1DataSet.Categories' table. You

can move, or remove it, as needed.

Page 72: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 71

Me.CategoriesTableAdapter.Fill(Me.Northwind1DataSet.Categories)

End Sub

End Class

Observando las categorías:

Agregando un nuevo registro:

El código se autogenera, sólo llenamos el nombre y la descripción:

Page 73: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 72

Damos en guardar:

Verificamos en sql:

También lo podríamos eliminar:

Guardamos:

Page 74: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 73

Verificamos en sql:

Con el ejercicio anterior también podemos observar los productos que pertenecen a

esa categoría cargando la información en un DataGridView:

Imports System.Data.SqlClient

Public Class Form1

Sub CargarDatos()

Dim conex As New

SqlConnection("server=MIK3\io;database=northwind1;trusted_connection=true")

Dim datos As New SqlDataAdapter("select

productname,unitprice,unitsinstock,categoryid from products where categoryid=@cate",

conex)

Dim ds As New Data.DataSet

datos.SelectCommand.Parameters.Add("@cate", SqlDbType.Int).Value =

CInt(CategoryIDTextBox.Text)

datos.Fill(ds, "Detalle")

DataGridView1.DataSource = ds.Tables("Detalle")

End Sub

Private Sub CategoriesBindingNavigatorSaveItem_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs)

Me.Validate()

Me.CategoriesBindingSource.EndEdit()

Me.TableAdapterManager.UpdateAll(Me.Northwind1DataSet)

End Sub

Page 75: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 74

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load

'TODO: This line of code loads data into the 'Northwind1DataSet.Categories' table. You

can move, or remove it, as needed.

Me.CategoriesTableAdapter.Fill(Me.Northwind1DataSet.Categories)

CargarDatos()

End Sub

Private Sub CategoryIDTextBox_TextChanged(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles CategoryIDTextBox.TextChanged

CargarDatos()

End Sub

End Class

Page 76: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 75

BUSCAR LA INFORMACIÓN DE UN PRODUCTO DE UN DETERMINADO

PRODUCTID:

Imports System.Data.SqlClient

Public Class Form2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

Dim conex As New

SqlConnection("server=MIK3\io;database=northwind1;trusted_connection=true")

Dim comando As New SqlCommand("select productname, unitprice, unitsinstock,

categoryid from products where productid= @id", conex)

comando.Parameters.Add("@id", SqlDbType.Int).Value = CInt(TextBox1.Text)

Dim registro As SqlDataReader

conex.Open()

Page 77: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 76

registro = comando.ExecuteReader() ' se utiliza cuando es una consulta el

executereader trae una variable y la alamcena en registro

registro.Read()

If registro.HasRows = True Then

TextBox3.Text = registro.Item(0)

TextBox5.Text = registro.Item(3)

TextBox4.Text = registro.Item(1)

TextBox2.Text = registro.Item(2)

Else

MessageBox.Show("NO HAY REGISTROS QUE MOSTRAR")

End If

registro.Close()

conex.Close()

End Sub

End Class

Page 78: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 77

Guardar en una lista los datos del producto de un determinado proveedor:

Imports System.Data.SqlClient

Public Class Form3

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

Dim conex As New

SqlConnection("server=MIK3\io;database=northwind1;trusted_connection=true")

Dim comando As New SqlCommand("select productname, unitprice, unitsinstock,

SupplierID from products where SupplierID= @id", conex)

comando.Parameters.Add("@id", SqlDbType.Int).Value = CInt(TextBox1.Text)

Page 79: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 78

Dim registro As SqlDataReader

conex.Open()

registro = comando.ExecuteReader()

registro.Read()

Do While registro.Read()

ListBox1.Items.Add(CStr(registro.Item(0)) + "-" + CStr(registro.Item(1)) + "-" +

CStr(registro.Item(2)) + "-" + CStr(registro.Item(3)))

Loop

registro.Close()

conex.Close()

End Sub

End Class

Page 80: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 79

CREAR IN INICIO DE SESIÓN PARA EL SISTEMA

Agregamos un nuevo elemento y escogemos Login Form:

Page 81: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 80

Ahora crearemos una tabla de usuarios en SQL respectivo:

LLENAMOS CON ALGUNOS DATOS:

EN VISUAL BASIC:

Imports System.Data.SqlClient

Public Class LoginForm1

Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

OK.Click

Dim VALOR As Integer

Page 82: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 81

Dim conex As New

SqlConnection("server=MIK3\io;database=northwind1;trusted_connection=true")

Dim QUERY As New SqlCommand("SELECT COUNT(*) FROM USUARIOS WHERE

USUARIO=@U AND CONTRASEÑA=@P", conex)

QUERY.Parameters.Add("@U", SqlDbType.VarChar, 20).Value = UsernameTextBox.Text

QUERY.Parameters.Add("@P", SqlDbType.VarChar, 20).Value = PasswordTextBox.Text

conex.Open()

VALOR = QUERY.ExecuteScalar()

conex.Close()

If VALOR = 1 Then

Form1.Show()

Me.Hide()

Me.Close()

Else

MessageBox.Show("USUARIO Y/O CONTRASEÑA INCORRECTA!!!")

MessageBox.Show("VUELVA A INGRESAR LO CORRECTO")

UsernameTextBox.Text = Space(0)

PasswordTextBox.Text = Space(0)

UsernameTextBox.Focus()

Me.Show()

End If

End Sub

Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Cancel.Click

Me.Close()

End Sub

End Class

Page 83: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 82

SÍ SE EJECUTA!!!!

CUANDO LA CONTRASEÑA O USUARIO ES INCORRECTO:

Cambiar contraseña desde otro formulario

Agregamos un link en el LoginForm1:

AL HACER CLIC EN EL LINK NOS LLEVA A OTRO FORMULARIO:

Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As

System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked

Form4.Show()

End Sub

Page 84: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 83

EN EL FORMULARIO 4:

Imports System.Data.SqlClient

Public Class Form4

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

Dim conex As New

SqlConnection("server=MIK3\io;database=northwind1;trusted_connection=true")

Dim DATOS As New SqlCommand("UPDATE USUARIOS SET CONTRASEÑA=@NP

WHERE USUARIO=@U AND CONTRASEÑA=@P", conex)

If TextBox3.Text = TextBox4.Text Then

conex.Open()

DATOS.Parameters.Add("@NP", SqlDbType.VarChar, 20).Value = TextBox3.Text

DATOS.Parameters.Add("@U", SqlDbType.VarChar, 20).Value = TextBox1.Text

DATOS.Parameters.Add("@P", SqlDbType.VarChar, 20).Value = TextBox2.Text

MessageBox.Show("CAMBIO EXITOSO")

DATOS.ExecuteNonQuery()

conex.Close()

Else : MessageBox.Show("NO SE HA CAMBIADO")

End If

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button2.Click

Me.Close()

End Sub

End Class

Page 85: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 84

Page 86: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 85

CREANDO EL SISTEMA DE ASISTENCIA DE LOS ALUMNOS DE INGENIERÍA

DE SISTEMAS A LA XII SEMANA SISTÉMICA

CREAMOS LA BASE DE DATOS SEM_SIST

Page 87: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 86

Buscar un alumno o por su código o por su apellido:

create proc buscar_parti

@id varchar(10)

as

select *

from PARTICIPANTES

where IDPARTICIPANTE like @id+'%'

Page 88: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 87

create proc cod

@ap varchar(20)

as

select *

from PARTICIPANTES

where APEPAT like @ap+'%'

Imports System.Data.SqlClient

Public Class Form1

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As

System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

If RadioButton1.Checked = True Then

Dim datos As New SqlDataAdapter("buscar_parti", CONEX)

Dim ds As New Data.DataSet

Page 89: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 88

datos.SelectCommand.CommandType = CommandType.StoredProcedure

datos.SelectCommand.Parameters.Add("@id", SqlDbType.VarChar, 10).Value =

TextBox1.Text

datos.Fill(ds, "participantes")

DataGridView1.DataSource = ds.Tables("participantes")

ElseIf RadioButton2.Checked = True Then

Dim datos1 As New SqlDataAdapter("cod", CONEX)

Dim ds1 As New Data.DataSet

datos1.SelectCommand.CommandType = CommandType.StoredProcedure

datos1.SelectCommand.Parameters.Add("@AP", SqlDbType.VarChar, 20).Value =

TextBox1.Text

datos1.Fill(ds1, "participantes2")

DataGridView1.DataSource = ds1.Tables("participantes2")

End If

End Sub

End Class

Page 90: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 89

Page 91: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 90

MANTENIMIENTO DE INSTITUCIONES

Page 92: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 91

MANTENIMIENTO DE CONFERENCIAS

Page 93: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 92

NUEVO PARICIPANTE

Imports System.Data.SqlClient

Public Class Form4

Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load

'TODO: This line of code loads data into the 'SEM_SISTDataSet3.INSTITUCIONES'

table. You can move, or remove it, as needed.

Me.INSTITUCIONESTableAdapter.Fill(Me.SEM_SISTDataSet3.INSTITUCIONES)

End Sub

Sub limpiar_ingreso()

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

ComboBox1.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""

TextBox1.Focus()

End Sub

Sub cargar_datos()

Dim datos As New SqlDataAdapter(" select * from PARTICIPANTES", CONEX)

Dim ds As New Data.DataSet

datos.Fill(ds, "Tabla")

Page 94: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 93

DataGridView1.DataSource = ds.Tables("Tabla")

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

Dim respuesta As Integer

Dim sexo As Char

Dim insert_par As New SqlCommand("InsertaParticipante", CONEX)

If RadioButton1.Checked = True Then

sexo = "1"

ElseIf RadioButton2.Checked = True Then

sexo = "2"

End If

insert_par.CommandType = CommandType.StoredProcedure

insert_par.Parameters.Add("@id", SqlDbType.Char, 10).Value = TextBox1.Text

insert_par.Parameters.Add("@ap", SqlDbType.VarChar, 20).Value = TextBox2.Text

insert_par.Parameters.Add("@am", SqlDbType.VarChar, 40).Value = TextBox3.Text

insert_par.Parameters.Add("@n", SqlDbType.VarChar, 50).Value = TextBox4.Text

insert_par.Parameters.Add("@s", SqlDbType.Char, 1).Value = sexo

insert_par.Parameters.Add("@e", SqlDbType.VarChar, 45).Value = TextBox5.Text

insert_par.Parameters.Add("@i", SqlDbType.Int).Value = ComboBox1.SelectedValue

CONEX.Open()

respuesta = insert_par.ExecuteNonQuery

CONEX.Close()

If respuesta = 1 Then

MessageBox.Show("Se grabó el registro")

limpiar_ingreso()

cargar_datos()

End If

End Sub

End Class

Page 95: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 94

REPORTING SERVICE

AGREGAMOS UN NUEVO ELEMENTO (UN REPORTE):

ACEPTAMOS Y CREAMOS UN REPORTE:

Page 96: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 95

EN EL FORMULARIO ESCOGEMOS EL OBJETO REPORTVIEWER

Page 97: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 96

EJECUTAMOS

REPORTE DE VENTA DE TRUCHAS:

Page 98: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 97

Page 99: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 98

Ventas por los empleados de cada año:

Órdenes por empleados en los meses:

Page 100: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 99

Productos:

Page 101: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 100

Public Class Form5

Private Sub Form5_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

Me.CategoriesTableAdapter.Fill(Me.NorthwindDataSet6.Categories)

ComboBox1.Text = Space(0)

End Sub

Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As

System.EventArgs) Handles ComboBox1.SelectedIndexChanged

Me.CATEGORIASTableAdapter.Fill(Me.NorthwindDataSet5.CATEGORIAS)

Page 102: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 101

Me.REPORTESTableAdapter.Fill(Me.NorthwindDataSet4.REPORTES,

ComboBox1.SelectedValue)

Me.ReportViewer1.RefreshReport()

End Sub

End Class

Libros con páginas

Page 103: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 102

Clientes

Public Class Form7

Private Sub Form7_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

'TODO: esta línea de código carga datos en la tabla 'NorthwindDataSet8.Suppliers'

Puede moverla o quitarla según sea necesario.

Me.SuppliersTableAdapter.Fill(Me.NorthwindDataSet8.Suppliers)

'TODO: esta línea de código carga datos en la tabla 'NorthwindDataSet7.Customers'

Puede moverla o quitarla según sea necesario.

Me.CustomersTableAdapter.Fill(Me.NorthwindDataSet7.Customers)

Me.ReportViewer1.RefreshReport()

Me.ReportViewer2.RefreshReport()

End Sub

End Class

Page 104: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 103

Page 105: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 104

Ver empleado y Órdenes que ha realizado

Reporte:

Page 106: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 105

Imports System.Data.SqlClient

Public Class Form1

Private Sub EmployeesBindingNavigatorSaveItem_Click(sender As System.Object, e As

System.EventArgs) Handles EmployeesBindingNavigatorSaveItem.Click

Me.Validate()

Me.EmployeesBindingSource.EndEdit()

Me.TableAdapterManager.UpdateAll(Me.NorthwindDataSet)

End Sub

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

Me.EmployeesTableAdapter.Fill(Me.NorthwindDataSet.Employees)

End Sub

Page 107: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 106

Private Sub EmployeeIDTextBox_TextChanged(sender As System.Object, e As

System.EventArgs) Handles EmployeeIDTextBox.TextChanged

Dim conex As New

SqlConnection("server=.;database=Northwind;trusted_connection=true")

Dim DATOS As New SqlDataAdapter("detalle_orden", conex)

Dim ds As New Data.DataSet

DATOS.SelectCommand.CommandType = CommandType.StoredProcedure '***

DATOS.SelectCommand.Parameters.Add("@e", SqlDbType.Int).Value =

EmployeeIDTextBox.Text

DATOS.Fill(ds, "empleado")

DataGridView1.DataSource = ds.Tables("empleado")

End Sub

End Class

Reporte seleccionar un año:

Page 108: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 107

Public Class Form2

Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

Me.ANIOTableAdapter.Fill(Me.NorthwindDataSet2.ANIO)

End Sub

Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As

System.EventArgs) Handles ComboBox1.SelectedIndexChanged

Me.producvendiTableAdapter.Fill(Me.NorthwindDataSet4.producvendi,

ComboBox1.SelectedValue)

Me.ReportViewer1.RefreshReport()

End Sub

End Class

Seleccionando el cliente:

Page 109: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 108

Public Class Form3

Private Sub Form3_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

Me.MONTOSTableAdapter.Fill(Me.NorthwindDataSet9.MONTOS)

Me.CustomersTableAdapter.Fill(Me.NorthwindDataSet5.Customers)

Me.ReportViewer1.RefreshReport()

End Sub

Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As

System.EventArgs) Handles ComboBox1.SelectedIndexChanged

Me.CLIENTESTableAdapter.Fill(Me.NorthwindDataSet7.CLIENTES,

CChar(ComboBox1.SelectedValue))

Me.ReportViewer1.RefreshReport()

End Sub

End Class

Page 110: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 109

Hacer un gráfico de número de productos filtrado por categoría:

Public Class Form4

Private Sub Form4_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

Me.MONTOSTableAdapter.Fill(Me.NorthwindDataSet9.MONTOS)

Me.ReportViewer1.RefreshReport()

End Sub

End Class

Page 111: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 110

Reporte de los productos:

Public Class Form5

Private Sub Form5_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

Me.PCTableAdapter1.Fill(Me.NorthwindDataSet11.PC)

Me.PCTableAdapter.Fill(Me.NorthwindDataSet10.PC)

Me.ReportViewer1.RefreshReport()

End Sub

End Class

Page 112: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 111

Pasar un parámetro de clientete

Page 113: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 112

Public Class Form6

Private Sub Form6_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

Me.CustomersTableAdapter.Fill(Me.NorthwindDataSet13.Customers)

End Sub

Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As

System.EventArgs) Handles ComboBox1.SelectedIndexChanged

Me.CLIENTITableAdapter.Fill(Me.NorthwindDataSet14.CLIENTI,

ComboBox1.SelectedValue)

Me.ReportViewer1.RefreshReport()

End Sub

End Class

Hacer un formulario donde se muestren las conferencias, los participantes, asistentes

y un gráfico:

Page 114: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 113

Reporte1:

Reporte2:

Reporte3:

Page 115: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 114

Reporte4:

Código:

Public Class Form1

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

Me.ASISXCTableAdapter.Fill(Me.Asistencia_Semana_SistémicaDataSet5.ASISXC)

Me.CONFERENCIASTableAdapter1.Fill(Me.Asistencia_Semana_SistémicaDataSet3.CONFERE

NCIAS)

Page 116: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 115

Me.CONFERENCIASTableAdapter.Fill(Me.Asistencia_Semana_SistémicaDataSet1.CONFERE

NCIAS)

Me.PARTICIPANTESTableAdapter.Fill(Me.Asistencia_Semana_SistémicaDataSet.PARTICIPA

NTES)

Me.ReportViewer1.RefreshReport()

Me.ReportViewer2.RefreshReport()

Me.ReportViewer4.RefreshReport()

End Sub

Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As

System.EventArgs) Handles ComboBox1.SelectedIndexChanged

Me.ASISTableAdapter.Fill(Me.Asistencia_Semana_SistémicaDataSet2.ASIS,

ComboBox1.SelectedValue)

Me.ReportViewer3.RefreshReport()

End Sub

End Class

Una consulta que nos lleve a otro formulario:

o Formulario 1:

Page 117: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 116

Imports System.Data.SqlClient

Public Class Form2

Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

Me.ProductsTableAdapter.Fill(Me.NorthwindDataSet.Products)

End Sub

Private Sub DataGridView1_CellContentDoubleClick(sender As Object, e As

System.Windows.Forms.DataGridViewCellEventArgs) Handles

DataGridView1.CellContentDoubleClick

Dim detalle As New SqlDataAdapter("SELECT OD.OrderID, OD.UnitPrice, OD.Quantity,

P.ProductName FROM [Order Details] OD INNER JOIN Products P ON OD.ProductID =

P.ProductID WHERE P.ProductNAME=@P", conex)

Dim DB As New Data.DataSet

detalle.SelectCommand.Parameters.Add("@P", SqlDbType.NVarChar, 40).Value =

DataGridView1.Rows(e.RowIndex).Cells(1).Value

detalle.Fill(DB, "detalle")

Form3.DataGridView1.DataSource = DB.Tables("detalle")

Form3.Show()

End Sub

End Class

o Formulario2:

Page 118: Visual para principiantes

Manual de Visual Basic Parte II 2012

Estrada Aguilar, Karen Johana | PROGRAMACIÓN APLICADA I 117

Imports System.Data.SqlClient

Public Class Form2

Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles

MyBase.Load

Me.ProductsTableAdapter.Fill(Me.NorthwindDataSet.Products)

End Sub

Private Sub DataGridView1_CellContentDoubleClick(sender As Object, e As

System.Windows.Forms.DataGridViewCellEventArgs) Handles

DataGridView1.CellContentDoubleClick

Dim detalle As New SqlDataAdapter("SELECT OD.OrderID, OD.UnitPrice, OD.Quantity,

P.ProductName FROM [Order Details] OD INNER JOIN Products P ON OD.ProductID =

P.ProductID WHERE P.ProductNAME=@P", conex)

Dim DB As New Data.DataSet

detalle.SelectCommand.Parameters.Add("@P", SqlDbType.NVarChar, 40).Value =

DataGridView1.Rows(e.RowIndex).Cells(1).Value

detalle.Fill(DB, "detalle")

Form3.DataGridView1.DataSource = DB.Tables("detalle")

Form3.Show()

End Sub

End Class