33
PROGRAMA PARA LLENAR UN LISTBOX Imports System.Data Imports System.Data.SqlClient Partial Class consulta1 Inherits System.Web.UI.Page Dim cn As New SqlConnection("server=.;database=northwind;integrated security=yes") Sub listar() Dim ds As New DataSet Dim da As New SqlDataAdapter("listaprod", cn) da.SelectCommand.CommandType = CommandType.StoredProcedure da.Fill(ds, "pro") dgvlista.DataSource = ds.Tables("pro") dgvlista.DataBind() End Sub Sub llenarlista() Dim ds As New DataSet Dim da As New SqlDataAdapter("select supplierid,companyname from suppliers", cn) da.Fill(ds, "cli") With lstlista .DataSource = ds.Tables("cli") .DataTextField = "companyname" .DataValueField = "supplierid" .DataBind() End With

ASP Ejemplos

Embed Size (px)

Citation preview

Page 1: ASP Ejemplos

PROGRAMA PARA LLENAR UN LISTBOX

Imports System.Data

Imports System.Data.SqlClient

Partial Class consulta1

Inherits System.Web.UI.Page

Dim cn As New

SqlConnection("server=.;database=northwind;integrated security=yes")

Sub listar()

Dim ds As New DataSet

Dim da As New SqlDataAdapter("listaprod", cn)

da.SelectCommand.CommandType = CommandType.StoredProcedure

da.Fill(ds, "pro")

dgvlista.DataSource = ds.Tables("pro")

dgvlista.DataBind()

End Sub

Sub llenarlista()

Dim ds As New DataSet

Dim da As New SqlDataAdapter("select supplierid,companyname

from suppliers", cn)

da.Fill(ds, "cli")

With lstlista

.DataSource = ds.Tables("cli")

.DataTextField = "companyname"

.DataValueField = "supplierid"

.DataBind()

End With

Page 2: ASP Ejemplos

End Sub

Sub consulta(ByVal p As Integer)

Dim ds As New DataSet

Dim da As New SqlDataAdapter("consul", cn)

da.SelectCommand.CommandType = CommandType.StoredProcedure

da.SelectCommand.Parameters.Add("@prov", SqlDbType.Int).Value

= p

da.Fill(ds, "cli")

dgvlista.DataSource = ds.Tables("cli")

dgvlista.DataBind()

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Me.Load

listar()

If Not Page.IsPostBack Then

llenarlista()

End If

End Sub

Protected Sub lstlista_SelectedIndexChanged(ByVal sender As

consulta(lstlista.SelectedValue)

End Sub

End Class

Page 3: ASP Ejemplos

PROGRAMA PARA LENAR UN COMBO BOX

Imports System.Data

Imports System.Data.SqlClient

Partial Class pagina1

Inherits System.Web.UI.Page

Dim cn As New

SqlConnection("server=.;database=northwind;integrated security=yes")

Sub listar()

Dim ds As New DataSet

Dim da As New SqlDataAdapter("listar", cn)

da.SelectCommand.CommandType = CommandType.StoredProcedure

da.Fill(ds, "pro")

dgvlista.DataSource = ds.Tables("pro")

dgvlista.DataBind()

End Sub

Sub listarcombo()

Dim ds As New DataSet

Dim da As New SqlDataAdapter("select categoryid,categoryname

from categories", cn)

da.Fill(ds, "pro")

With cmbcategoria

.DataSource = ds.Tables("pro")

.DataTextField = "categoryname"

.DataValueField = "categoryid"

.DataBind()

End With

End Sub

Sub listarcombo2()

Dim ds As New DataSet

Dim da As New SqlDataAdapter("select supplierid,companyname

from suppliers", cn)

da.Fill(ds, "pro")

With cmbprov

.DataSource = ds.Tables("pro")

.DataTextField = "companyname"

.DataValueField = "supplierid"

.DataBind()

End With

Page 4: ASP Ejemplos

End Sub

Sub guardarreg(ByVal nom As String, ByVal pre As Single, ByVal cat

As Integer, ByVal pro As Integer)

Dim comando As New SqlCommand

With comando

.Connection = cn

.CommandType = CommandType.StoredProcedure

.CommandText = "guardar"

.Parameters.Add("@nom", SqlDbType.NVarChar).Value = nom

.Parameters.Add("@pre", SqlDbType.Money).Value = pre

.Parameters.Add("@cat", SqlDbType.Int).Value = cat

.Parameters.Add("@pro", SqlDbType.Int).Value = pro

cn.Open()

.ExecuteNonQuery()

cn.Close()

End With

End Sub

Sub actualizarreg(ByVal nom As String, ByVal pre As Single, ByVal

cat As Integer, ByVal pro As Integer)

Dim ds As New DataSet

Dim da As New SqlDataAdapter("actualizar", cn)

da.SelectCommand.CommandType = CommandType.StoredProcedure

da.SelectCommand.Parameters.Add("@nom", SqlDbType.NVarChar).Value =

nom

da.SelectCommand.Parameters.Add("@pre", SqlDbType.Money).Value = pre

da.SelectCommand.Parameters.Add("@cat", SqlDbType.Int).Value = cat

da.SelectCommand.Parameters.Add("@pro", SqlDbType.Int).Value = pro

da.Fill(ds, "pro")

dgvlista.DataSource = ds.Tables("pro")

dgvlista.DataBind()

End Sub

Sub buscar(ByVal nom As String)

Dim ds As New DataSet

Dim da As New SqlDataAdapter("buscar", cn)

da.SelectCommand.CommandType = CommandType.StoredProcedure

da.SelectCommand.Parameters.Add("@bus", SqlDbType.NVarChar).Value =

nom

da.Fill(ds, "pro")

dgvlista.DataSource = ds.Tables("pro")

dgvlista.DataBind()

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Me.Load

listar()

'SENTENCIA NECESARIA PARA QUE LOS COMBOS TRABAJEN EN FORMA

INDEPENDIENTE

If Not Page.IsPostBack Then

listarcombo()

listarcombo2()

End If

End Sub

Page 5: ASP Ejemplos

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As

guardarreg(tnombre.Text, tprecio.Text, cmbcategoria.SelectedValue,

cmbprov.SelectedValue)

listar()

End Sub

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As

actualizarreg(tnombre.Text, tprecio.Text, cmbcategoria.SelectedValue,

cmbprov.SelectedValue)

listar()

End Sub

Protected Sub Button3_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button3.Click

buscar(tbuscar.Text)

End Sub

Protected Sub Button4_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button4.Click

listar()

End Sub

End Class

Page 6: ASP Ejemplos

PROGRAMA NUEVO DE LOGEO:

Imports System.Data

Imports System.Data.SqlClient

Partial Class _Default

Inherits System.Web.UI.Page

Dim cn As New

SqlConnection("server=.;database=northwind;integrated security=yes")

Public employees As String

Sub ingresar(ByVal u As String, ByVal c As String)

Dim cmd As New SqlCommand

Dim dr As SqlDataReader

With cmd

.CommandType = CommandType.StoredProcedure

.CommandText = "ingreso"

.Parameters.Add("@user", SqlDbType.NVarChar).Value = u

.Parameters.Add("@con", SqlDbType.NVarChar).Value = c

.Connection = cn

cn.Open()

dr = .ExecuteReader

If dr.Read Then

Me.tusuario.Text = dr("lastname")

Me.tcontraseña.Text = dr("firstname")

employees = Me.tusuario.Text

'esta sentencia nos envia a otra pagina

Response.Redirect("modulo.aspx")

Else

Response.Redirect("errorlogin.html")

End If

End With

dr.Close()

cn.Close()

Page 7: ASP Ejemplos

End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button1.Click

ingresar(tusuario.Text, tcontraseña.Text)

End Sub

Para el boton cancelar en la propiedad:

OnClientClick = window.close()

PROGRAMA NUEVO: Me permite hacer una consulta por el id del cliente y me

devuelve los resultados en los textbox

PAGINA1

Código:

Consulta: sql

create proc listar

@cod nchar(5)

as

select CUSTOMERID,companyname,

contactname,

city from customers where customerid=@cod

select*from customers

create proc mostrar

@cod nchar(5)

as

select orderid,orderdate,lastname,firstname from (orders

inner join employees on employees.employeeid=orders.employeeid )where

customerid=@cod

select*from employees

select*from orders where customerid='vinet'

codigo: vb.net

Imports System.Data

Imports System.Data.SqlClient

Partial Class _Default

Inherits System.Web.UI.Page

Page 8: ASP Ejemplos

Dim cn As New

SqlConnection("server=.;database=northwind;integrated security=yes")

Sub consulta(ByVal c As String)

Dim ds As New DataSet

Dim da As New SqlDataAdapter("listar", cn)

da.SelectCommand.CommandType = 4

da.SelectCommand.Parameters.Add("@cod", SqlDbType.NChar).Value = c

da.Fill(ds, "T")

'estas lineas me muestran los campos en los textbox

If ds.Tables("T").Rows.Count > 0 Then

With ds.Tables("T")

tcliente.Text = .Rows(0)("companyname")

tcontacto.Text = .Rows(0)("contactname")

tciudad.Text = .Rows(0)("city")

End With

End If

End Sub

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button2.Click

consulta(tcodigo.Text)

End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button1.Click

'esta sentencia me permite exportar los datos del tcliente a la pagina

2

Response.Redirect("pagina2.aspx?cliente=" & tcliente.Text)

End Sub

Page 9: ASP Ejemplos

A CONTINUACION ESTA ES LA PAGINA QUE RECIBE LAS INSTRUCCIONES:

PAGINA2

Imports System.Data

Imports System.Data.SqlClient

Partial Class pagina2

Inherits System.Web.UI.Page

Dim cn As New

SqlConnection("server=.;database=northwind;integrated security=yes")

Sub mostrar(ByVal c As String)

Dim ds As New DataSet

Dim da As New SqlDataAdapter("mostrar", cn)

da.SelectCommand.CommandType = CommandType.StoredProcedure

da.SelectCommand.Parameters.Add("@cod", SqlDbType.NChar).Value = c

da.Fill(ds, "cli")

dgvlista.DataSource = ds.Tables("cli")

dgvlista.DataBind()

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Me.Load

'el codigo para recibir el dato se colo siempre en el load dela pagina

Dim co As String

co = Request.QueryString("cliente")

tnombre.Text = co

mostrar(tnombre.Text)

lblm.Text = dgvlista.Rows.Count & " pedidos encontrados"

End Sub

Page 10: ASP Ejemplos

PROGRAMA NUEVO: en este programa vamos a exportar los datos pero por medio de

editar plantilla del grid view tranformando sus campos en hipervínculos

Pagina:LISTACLIENTE.ASPX

Código sql create Proc Listapedido

as

Select Orderid,

Companyname,

Orderdate,Customers.Customerid

From Orders Inner join Customers

On Customers.Customerid=Orders.Customerid

create Proc buscacliente

@cc varchar(6)

as

Select Companyname,Contactname,city

From Customers Where Customers.Customerid=@cc

Page 11: ASP Ejemplos

Imports System.Data

Imports System.Data.SqlClient

Partial Class LISTAPEDIDO

Inherits System.Web.UI.Page

Dim cn As New

SqlConnection("server=.;Database=northwind;integrated security=yes")

Protected Sub Page_Load(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Me.Load

Dim ds As New DataSet

Dim da As New SqlDataAdapter("listapedido", cn)

With da

.SelectCommand.CommandType = CommandType.StoredProcedure

.Fill(ds, "ped")

Me.GridView1.DataSource = ds.Tables("ped")

Me.GridView1.DataBind()

End With

End Sub

End Class

Pagina: VERCLIENTE.ASPX

Imports System.Data

Imports System.Data.SqlClient

Partial Class vercliente

Inherits System.Web.UI.Page

Dim cn As New

SqlConnection("server=.;Database=northwind;integrated security=yes")

Protected Sub Page_Load(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Me.Load

Dim cod, nc As String

cod = Request.QueryString("cc")

nc = Request.QueryString("nc")

lblcodigo.Text = cod

lblnombre.Text = nc

Dim ds As New DataSet

Dim da As New SqlDataAdapter("buscacliente", cn)

With da

.SelectCommand.CommandType = CommandType.StoredProcedure

.SelectCommand.Parameters.Add("@cc",

SqlDbType.VarChar).Value = lblcodigo.Text

.Fill(ds, "bus")

Me.GridView1.DataSource = ds.Tables("bus")

Me.GridView1.DataBind()

End With

End Sub

End Class

Page 12: ASP Ejemplos

PROGRAMA NUEVO:

AGREGAR: AGREGAR UNA CLASE CON NOMBRE CLIENTE

CODIGO:

Imports Microsoft.VisualBasic

Imports System.Data

Imports System.Data.SqlClient

Public Class cliente

Dim cn As New

SqlConnection("server=.;database=northwind;integrated security=yes")

Public Function listacliente()

Dim ds As New DataSet

Dim da As New SqlDataAdapter("listacliente", cn)

da.SelectCommand.CommandType = CommandType.StoredProcedure

da.Fill(ds, "cli")

Return ds.Tables("cli")

End Function

End Class

CODIGO EN LA PAGINA ASPX

Partial Class _Default

Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Me.Load

Dim cliente As New cliente

dgvlista.DataSource = cliente.listacliente

dgvlista.DataBind()

End Sub

End Class

CODIGO: PROC ALMACENADO(SQL)

use nortwind

create proc listacliente

as

select customerid,companyname,city from customers

order by companyname

go

Page 13: ASP Ejemplos

PROGRAMA NUEVO

CODIGO EN VB.NET:

Imports System.Data

Imports System.Data.SqlClient

Partial Class _Default

Inherits System.Web.UI.Page

Dim cn As New

SqlConnection("server=.;database=northwind;integrated security=yes")

Protected Sub Page_Load(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Me.Load

End Sub

Public Sub logeo(ByVal u As String, ByVal c As String)

Dim cmd As New SqlCommand

Dim dr As SqlDataReader

With cmd

.CommandType = CommandType.StoredProcedure

.CommandText = "logeo"

.Parameters.Add("@u", SqlDbType.NVarChar).Value = u

.Parameters.Add("@c", SqlDbType.NVarChar).Value = c

.Connection = cn

cn.Open()

.ExecuteNonQuery()

dr = .ExecuteReader

If dr.Read Then

u = dr("lastname")

c = dr("firstname")

Response.Redirect("consultapedido.aspx?cc=" &

tusuario.Text & "")

Else

MsgBox("error de logeo")

End If

End With

dr.Close()

cn.Close()

End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button1.Click

logeo(tusuario.Text, tcontraseña.Text)

End Sub

End Class

Page 14: ASP Ejemplos

PAGINA 2:

CONSULTA EN SQL:

create proc logeo

@u nvarchar(20),@c nvarchar(10)

as

select * from employees

where lastname=@u and firstname=@c

go

select*from employees

go

select*from orders

go

create proc consulta1

@cod int

as

select quantity as cantidad,productname as producto,

o.unitprice as precio_uni, 'importe'=(quantity*o.unitprice)

from [order details] o inner join products on

products.productid=o.productid

where orderid=@cod

go

CREATE proc consulta2

@cod int

as

select c.companyname,o.orderdate,'empleado'=e.lastname +' '+

e.firstname from (orders o

inner join customers c on c.customerid=o.customerid)

inner join employees e on e.employeeid=o.employeeid where

orderid=@cod

CODIGO EN VB.NET:

Partial Class consultapedido

Inherits System.Web.UI.Page

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button1.Click

'ESTA LINEA ME DEVUELVE LA CONSULTA EN EL GRID VIEW

Dim consul As New Class1

Page 15: ASP Ejemplos

dgvlista.DataSource = consul.consulta1(tpedido.Text)

dgvlista.DataBind()

'ESTA LINEA ME DEVUELVE LOS DATOS EN LAS CAJAS DE TEXTO

Dim consul2 As New Class1

consul2.buscar(tpedido.Text)

tcliente.Text = consul2.id_cli

tfecha.Text = consul2.id_fec

templeado.Text = consul2.id_em

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Me.Load

Dim usu As String

usu = Request.QueryString("cc")

tusuario.Text = usu

End Sub

End Class

CODIGO DE LA CLASE:

Imports Microsoft.VisualBasic

Imports System.Data

Imports System.Data.SqlClient

Public Class Class1

Private cli As String : Private fec As String

Private em As String

Dim cn As New

SqlConnection("server=.;database=northwind;integrated security=yes")

Public Function consulta1(ByVal c As Integer)

Dim ds As New DataSet

Dim da As New SqlDataAdapter("consulta1", cn)

da.SelectCommand.CommandType = CommandType.StoredProcedure

da.SelectCommand.Parameters.Add("@cod", SqlDbType.Int).Value = c

da.Fill(ds, "ord")

Return ds.Tables("ord")

End Function

Public Property id_cli()

Get

id_cli = cli

End Get

Set(ByVal value)

cli = value

End Set

End Property

Public Property id_fec()

Get

id_fec = fec

End Get

Set(ByVal value)

fec = value

End Set

End Property

Page 16: ASP Ejemplos

Public Property id_em()

Get

id_em = em

End Get

Set(ByVal value)

em = value

End Set

End Property

Public Sub buscar(ByVal c As Integer)

Try

Dim cmd As New SqlCommand

Dim dr As SqlDataReader

With cmd

.Connection = cn

.CommandType = CommandType.StoredProcedure

.CommandText = "consulta2"

.Parameters.Add("@cod", SqlDbType.Int).Value = c

cn.Open()

dr = .ExecuteReader

If dr.HasRows Then

dr.Read()

cli = dr("companyname")

fec = dr("orderdate")

em = dr("empleado")

Else

MsgBox("Codigo equivocado")

End If

End With

dr.Close()

cn.Close()

Catch ex As Exception

MsgBox(ex.Message)

End Try

End Sub

End Class

Page 17: ASP Ejemplos

Programa nuevo: en este programa vamos a cargar un archivo xml y vamos agenerar un

archivo xml.

Agregar nuevo elemento: archivo xml

Código en archivo xml: este código es escrito manualmente <?xml version="1.0" encoding="utf-8" ?>

<alumno>

<registro>

<codigo>101</codigo>

<nombre>juan</nombre>

<apellido>perez</apellido>

</registro>

<registro>

<codigo>102</codigo>

<nombre>ana</nombre>

<apellido>lopez</apellido>

</registro>

<registro>

<codigo>103</codigo>

<nombre>jose</nombre>

<apellido>mendoza</apellido>

</registro>

<registro>

<codigo>104</codigo>

<nombre>maria</nombre>

<apellido>ortega</apellido>

</registro>

<registro>

<codigo>105</codigo>

<nombre>jesus alberto</nombre>

<apellido>torres</apellido>

</registro>

</alumno>

Generar archivo xml apartir de una tabla cargada en el grid view:

Insertar archivo xml

Web forms

Page 18: ASP Ejemplos

Código en vb.net: Imports System.Data

Imports System.Data.SqlClient

Partial Class Default2

Inherits System.Web.UI.Page

Dim cn As New

SqlConnection("server=.;database=northwind;integrated security=yes")

Dim ds As New DataSet

Sub mostrar()

Dim da As New SqlDataAdapter("mostrarpro", cn)

da.SelectCommand.CommandType = CommandType.StoredProcedure

da.Fill(ds, "pro")

dgvlista.DataSource = ds.Tables("pro")

dgvlista.DataBind()

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Me.Load

mostrar()

End Sub

Protected Sub btngenerar_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles btngenerar.Click

'esta linea me genera un archivo xml que se puede abrir

directamnete desde excel

Dim archivo As String = "c:\misproductos.xml"

ds.Tables(0).WriteXml(archivo)

End Sub

End Class

Procedimeinto en sql para llenar el grid view:

select*from products

create proc mostrarpro

as

select productid as codigo,productname as nombre,unitprice as precio,

UnitsInStock as stock from products

Programa usando tablas temporales:

Page 19: ASP Ejemplos

Codigo en el global asax

<%@ Application Language="VB" %>

<%@ Import Namespace ="System.data" %>

<script runat="server">

Dim dt As New DataTable

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)

' Código que se ejecuta cuando se inicia una nueva sesión

Dim contador As Integer = 0

Session("cont") = contador

'crear columnas

Dim dc0 As New DataColumn("Item", System.Type.GetType("System.Int16"))

Dim dc1 As New DataColumn("Dni", System.Type.GetType("System.String"))

Dim dc2 As New DataColumn("Nombre",

System.Type.GetType("System.String"))

Dim dc3 As New DataColumn("Apelli",

System.Type.GetType("System.String"))

Dim dc4 As New DataColumn("Sueld",

System.Type.GetType("System.Decimal"))

'adicionar columas al dt

dt.Columns.Clear()

dt.Columns.Add(dc0)

dt.Columns.Add(dc1)

dt.Columns.Add(dc2)

dt.Columns.Add(dc3)

dt.Columns.Add(dc4)

Session("tabla") = dt

End Sub

< /script>

Codigo en el vb.net:

Imports System.Data

Imports System.Data.SqlClient

Partial Class _Default

Inherits System.Web.UI.Page

Dim a As Integer

Dim dt2 As New DataTable

Page 20: ASP Ejemplos

Dim cn As New

SqlConnection("server=.;database=northwind;integrated security=yes")

Sub limpiarcajas()

Me.txtnom.Text = ""

Me.txtsueldo.Text = ""

Me.txtape.Text = ""

Me.txtdni.Text = ""

End Sub

Function sumaSueldo() As Single

Dim s As Single = 0

Dim i As Integer

For i = 0 To Me.GridView1.Rows.Count - 1

s = s + Me.GridView1.Rows(i).Cells(4).Text

Next

Return s

End Function

'codigo pra renumerar el grid view al eliminar una fila

Sub renumerarItem()

Dim i As Integer

For i = 0 To dt2.Rows.Count - 1

Dim dr As DataRow = dt2.Rows(i)

dr.BeginEdit()

dr("Item") = i + 1

dr.EndEdit()

Next

Session("tabla") = dt2

Session("contador") = dt2.Rows.Count

End Sub

'codigo para grabar datos en conjunto

Sub grabartemporal()

Try

Dim tabla As New DataTable

tabla = Session("dt2")

Dim i As Integer

For i = 0 To dt2.Rows.Count - 1

Dim cmd As New SqlCommand

With cmd

.Connection = cn

.CommandType = CommandType.StoredProcedure

.CommandText = "agregarempleado"

.Parameters.AddWithValue("@dni", dt2.Rows(i)("dni"))

.Parameters.AddWithValue("@nombre", dt2.Rows(i)("nombre"))

.Parameters.AddWithValue("@apellido", dt2.Rows(i)("apellido"))

.Parameters.AddWithValue("@sueldo", dt2.Rows(i)("sueldo"))

cn.Open()

.ExecuteNonQuery()

cn.Close()

End With

Next

'esta linea me elimina los registros en memoria del dt2

dt2.Rows.Clear()

Catch ex As Exception

MsgBox(ex.ToString)

End Try

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As

'este codigo me cargo los datos en el grid view

dt2 = Session("tabla")

Me.GridView1.DataSource = dt2

Page 21: ASP Ejemplos

Me.GridView1.DataBind()

End Sub

Protected Sub btnagregar_Click(ByVal sender As Object, ByVal e As

Dim conta As Integer

conta = Session("contador")

Try

conta += 1

dt2 = Session("tabla")

Dim dr As DataRow = dt2.NewRow

dr("Item") = conta

dr("dni") = txtdni.Text

dr("nombre") = txtnom.Text

dr("apellido") = txtape.Text

dr("Sueldo") = CSng(txtsueldo.Text)

dt2.Rows.Add(dr)

Session("tabla") = dt2

Me.GridView1.DataSource = dt2

Me.GridView1.DataBind()

Session("contador") = conta

limpiarcajas()

lblacumulado.Text = "El sueldo Acumulado es: " & sumaSueldo()

Catch ex As Exception

MsgBox(ex.ToString)

End Try

End Sub

Protected Sub GridView1_RowDeleting(ByVal sender As Object, ByVal e

dt2.Rows.RemoveAt(e.RowIndex)

renumerarItem()

Session("tabla") = dt2

dt2 = Session("tabla")

Me.GridView1.DataSource = dt2

Me.GridView1.DataBind()

lblacumulado.Text = "El sueldo Acumulado es: " & sumaSueldo()

End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As

grabartemporal()

End Sub

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As

'con esta linea borramos la memoria del datatable

dt2.Rows.Clear()

End Sub

End Class

Page 22: ASP Ejemplos

Programa nuevo: usaremos tabla temporal usando el datatable y

cargandolo al grid view

Agregar nuevo elemento: global.asax

Codigo en el global asax:

<%@ Application Language="VB" %>

<%@ Import Namespace ="System.Data" %>

<script runat="server">

'declaramos una variable al datatable

Dim dt As New DataTable

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)

' Código que se ejecuta cuando se inicia una nueva sesión

Dim contador As Integer = 0

Session("cont") = contador

'crear columnas

Dim dc0 As New DataColumn("item", System.Type.GetType("System.Int16"))

Dim dc1 As New DataColumn("proveedor",

System.Type.GetType("System.String"))

Dim dc2 As New DataColumn("personal",

System.Type.GetType("System.String"))

Dim dc3 As New DataColumn("concepto",

System.Type.GetType("System.String"))

Dim dc4 As New DataColumn("cliente",

System.Type.GetType("System.String"))

Dim dc5 As New DataColumn("cantidad",

System.Type.GetType("System.Int16"))

Dim dc6 As New DataColumn("precio",

System.Type.GetType("System.Decimal"))

Dim dc7 As New DataColumn("fecha",

System.Type.GetType("System.DateTime"))

Dim dc8 As New DataColumn("documento",

System.Type.GetType("System.String"))

Page 23: ASP Ejemplos

Dim dc9 As New DataColumn("numero",

System.Type.GetType("System.Int16"))

Dim dc10 As New DataColumn("igv",

System.Type.GetType("System.Decimal"))

Dim dc11 As New DataColumn("importe",

System.Type.GetType("System.Decimal"))

'adicionar columas al dt

dt.Columns.Clear()

dt.Columns.Add(dc0)

dt.Columns.Add(dc1)

dt.Columns.Add(dc2)

dt.Columns.Add(dc3)

dt.Columns.Add(dc4)

dt.Columns.Add(dc5)

dt.Columns.Add(dc6)

dt.Columns.Add(dc7)

dt.Columns.Add(dc8)

dt.Columns.Add(dc9)

dt.Columns.Add(dc10)

dt.Columns.Add(dc11)

Session("tabla") = dt

End Sub

</script>

codigo en el vb.net: para agregar datos al grid view y guardar los

datos en conjunto en la tabla temporal

Imports System.Data

Imports System.Data.SqlClient

Partial Class gastos

Inherits System.Web.UI.Page

Dim cn As New

SqlConnection("server=.;database=bd_vehiculos;integrated

security=yes")

Dim c As Integer = 0

Dim igv As Double = 0

'esta linea declara un variable a usar en el web form muy aparte

del que ya usamos en el global

Dim dt2 As New DataTable

'estos metodo nos van a cargar datos en los dropdaw

Sub llenarprov()

Dim ds As New DataSet

Dim da As New SqlDataAdapter("select*from proveedor", cn)

da.Fill(ds, "dis")

With cmbprov

.DataSource = ds.Tables("dis")

.DataTextField = "razon_social"

.DataValueField = "id_proveedor"

.DataBind()

End With

End Sub

Sub llenarper()

Dim ds As New DataSet

Dim da As New SqlDataAdapter("select id_personal,cadena= nombres + '

' + apellidos from personal", cn)

da.Fill(ds, "dis")

With cmbper

.DataSource = ds.Tables("dis")

.DataTextField = "cadena"

Page 24: ASP Ejemplos

.DataValueField = "id_personal"

.DataBind()

End With

End Sub

Sub llenarcli()

Dim ds As New DataSet

Dim da As New SqlDataAdapter("select * from cliente", cn)

da.Fill(ds, "dis")

With cmbcliente

.DataSource = ds.Tables("dis")

.DataTextField = "nombres"

.DataValueField = "id_cliente"

.DataBind()

End With

End Sub

Sub llenarcon()

Dim ds As New DataSet

Dim da As New SqlDataAdapter("select * from conceptos", cn)

da.Fill(ds, "con")

With cmbconcepto

.DataSource = ds.Tables("con")

.DataTextField = "descripcion"

.DataValueField = "id_concepto"

.DataBind()

End With

End Sub

Sub llenardoc()

Dim ds As New DataSet

Dim da As New SqlDataAdapter("select * from documento", cn)

da.Fill(ds, "doc")

With cmbdoc

.DataSource = ds.Tables("doc")

.DataTextField = "tipo"

.DataValueField = "id_doc"

.DataBind()

End With

End Sub

Sub mcodigo()

Dim ds As New DataSet

Dim da As New SqlDataAdapter("select * from gastos", cn)

da.Fill(ds, "doc")

With cmbgasto

.DataSource = ds.Tables("doc")

.DataTextField = "id_documento"

.DataValueField = "id_documento"

.DataBind()

End With

End Sub

'esta funcion me devuelve la suma del importe de la columna 11 del

grid view

Function sumaSueldo() As Single

Dim s As Single = 0

Dim i As Integer

For i = 0 To Me.dgvlista.Rows.Count - 1

s = s + Me.dgvlista.Rows(i).Cells(11).Text

Next

Return s

End Function

'esta funcion me devuelve la suma del importe de la columna 11 +

el igv calculado

Page 25: ASP Ejemplos

Function sumaimpor() As Single

Dim m As Single = 0

Dim i As Integer

For i = 0 To Me.dgvlista.Rows.Count - 1

m = m + Me.dgvlista.Rows(i).Cells(11).Text + tigv.Text

Next

Return m

End Function

'esta funcion me suma los igv calculados

Function sumaigv() As Single

Dim t As Single = 0

Dim i As Integer

For i = 0 To Me.dgvlista.Rows.Count - 1

t = t + tigv.Text

Next

Return t

End Function

'esta funcion me resta el saldo de un cliente que esta en una caja

de texto

Function ressue() As Single

Dim r As Single = tsaldoc.Text

Dim i As Integer

For i = 0 To Me.dgvlista.Rows.Count - 1

r = r - timporte.Text

Next

Return r

End Function

' este codigo me guarda los datos temporales que estan en el grid

view ya cargados ala base de datos

Sub grabartemporal()

Try

Dim tabla As New DataTable

tabla = Session("dt2")

Dim i As Integer

For i = 0 To dt2.Rows.Count - 1

Dim cmd As New SqlCommand

With cmd

.Connection = cn

.CommandType = CommandType.StoredProcedure

.CommandText = "guardargastos"

.Parameters.AddWithValue("@cod",

dt2.Rows(i)("item"))

.Parameters.AddWithValue("@pro", dt2.Rows(i)("proveedor"))

.Parameters.AddWithValue("@per", dt2.Rows(i)("personal"))

.Parameters.AddWithValue("@ccon", dt2.Rows(i)("concepto"))

.Parameters.AddWithValue("@cli", dt2.Rows(i)("cliente"))

.Parameters.AddWithValue("@can", dt2.Rows(i)("cantidad"))

.Parameters.AddWithValue("@pre", dt2.Rows(i)("precio"))

.Parameters.AddWithValue("@fec", dt2.Rows(i)("fecha"))

.Parameters.AddWithValue("@tip", dt2.Rows(i)("documento"))

.Parameters.AddWithValue("@num", dt2.Rows(i)("numero"))

.Parameters.AddWithValue("@igv", dt2.Rows(i)("igv"))

.Parameters.AddWithValue("@im", dt2.Rows(i)("importe"))

cn.Open()

.ExecuteNonQuery()

cn.Close()

End With

Next

'esta linea de codigo me limpia el registro temporal del

datatable

Page 26: ASP Ejemplos

dt2.Rows.Clear()

Catch ex As Exception

MsgBox(ex.ToString)

End Try

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Me.Load

Dim f As Date = Today

tfecha.Text = f

If Not Page.IsPostBack Then

llenarprov()

llenarper()

llenarcli()

llenarcon()

llenardoc()

mcodigo()

End If

'me muestra los datos en el grid view

dt2 = Session("tabla")

Me.dgvlista.DataSource = dt2

Me.dgvlista.DataBind()

End Sub

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button2.Click

‘este codigo me condiciona para calcular el igv si es que el combo

esta en factura o boleta( no me calculara el igv )

EL COMBODOC TIENE COMO ITEMS: FACTURA(0),BOLETA(1)

Try

If cmbdoc.SelectedIndex = 0 Then

c = tcantidad.Text * tprecio.Text

igv = c * 0.19

timporte.Text = c

tigv.Text = igv

Else

c = tcantidad.Text * tprecio.Text

igv = 0

timporte.Text = c

tigv.Text = igv

End If

Catch ex As Exception

MsgBox(ex.Message)

End Try

Button6.Enabled = True

End Sub

Page 27: ASP Ejemplos

Protected Sub Bguardar_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button3.Click

grabartemporal()

Protected Sub Bagregar_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button6.Click

'estos procedimientos me agregan los datos al grid view

Button3.Enabled = True

Dim conta As Integer

conta = Session("contador")

Try

conta += 1

dt2 = Session("tabla")

Dim dr As DataRow = dt2.NewRow

dr("item") = cmbgasto.Items.Count + dgvlista.Rows.Count +

1

dr("proveedor") = cmbprov.SelectedValue

dr("personal") = cmbper.SelectedValue

dr("concepto") = cmbconcepto.SelectedValue

dr("cliente") = cmbcliente.SelectedValue

dr("cantidad") = tcantidad.Text

dr("precio") = Me.tprecio.Text

dr("fecha") = tfecha.Text

dr("documento") = cmbdoc.SelectedValue

dr("numero") = tnumero.Text

dr("igv") = tigv.Text

dr("importe") = CSng(timporte.Text) - CSng(tigv.Text)

If dr("importe") > tsaldoc.Text Then

Button2.Enabled = False

MsgBox("Importe es mayor al saldo del cliente")

Else

dt2.Rows.Add(dr)

Session("tabla") = dt2

Me.dgvlista.DataSource = dt2

Me.dgvlista.DataBind()

Session("contador") = conta

el resultado delas funciones ya mostradas nos devolveran los datos

en sus cajas de texto

tneto.Text = sumaSueldo()

tsaldoc.Text = ressue()

Button2.Enabled = True

End If

Catch ex As Exception

MsgBox(ex.ToString)

Page 28: ASP Ejemplos

End Try

End Sub

Protected Sub dgvlista_RowDeleting(ByVal sender As Object, ByVal e

As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles

dgvlista.RowDeleting

'este codigo esta hecho en el evento rowdeleting y los va

borrando conforme uno quiera y va restandole el resultado del sueldo

neto

dt2.Rows.RemoveAt(e.RowIndex)

Session("tabla") = dt2

dt2 = Session("tabla")

Me.dgvlista.DataSource = dt2

Me.dgvlista.DataBind()

tneto.Text = sumaSueldo()

End Sub

Protected Sub Button7_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button7.Click

dt2.Rows.Clear()

End Sub

Protected Sub Button8_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button8.Click

dt2.Rows.Clear()

End Sub

End Class

Page 29: ASP Ejemplos

Programa nuevo: para guardar ,eliminar ,actualizar y buscar mediante

procedimientos hechos en sql y usados en clases

Codigo de la clase agregada desde agregar nuevo elemento:

Imports Microsoft.VisualBasic

Imports System.Data

Imports System.Data.SqlClient

Public Class class1

Private cod As String : Private nom As String : Private ape As

String

Private sex As String : Private dni As String

Private car As Integer : Private dis As Integer

Dim cn As New

SqlConnection("server=.;database=bd_vehiculos;integrated

security=yes")

Public Property id_per()

Get

id_per = cod

End Get

Set(ByVal value)

cod = value

End Set

End Property

Public Property nombre()

Get

nombre = nom

End Get

Set(ByVal value)

nom = value

End Set

End Property

Public Property apellido()

Get

apellido = ape

End Get

Set(ByVal value)

ape = value

End Set

End Property

Public Property sexo()

Get

sexo = sex

End Get

Set(ByVal value)

sex = value

Page 30: ASP Ejemplos

End Set

End Property

Public Property dnip()

Get

dnip = dni

End Get

Set(ByVal value)

dni = value

End Set

End Property

Public Property cargo()

Get

cargo = car

End Get

Set(ByVal value)

car = value

End Set

End Property

Public Property distrito()

Get

distrito = dis

End Get

Set(ByVal value)

dis = value

End Set

End Property

* Public Sub guardar()

Try

Dim comando As New SqlCommand

With comando

.Connection = cn

.CommandType = CommandType.StoredProcedure

.CommandText = "guardar_personal"

.Parameters.Add("@cod", SqlDbType.Char).Value = id_per

.Parameters.Add("@nom", SqlDbType.NVarChar).Value =

nombre

.Parameters.Add("@ape", SqlDbType.NVarChar).Value =

apellido

.Parameters.Add("@sex", SqlDbType.Char).Value = sexo

.Parameters.Add("@dni", SqlDbType.Char).Value = dnip

.Parameters.Add("@cc", SqlDbType.Int).Value = cargo

.Parameters.Add("@cd", SqlDbType.Int).Value = distrito

cn.Open()

.ExecuteNonQuery()

cn.Close()

End With

Catch ex As Exception

MsgBox(ex.ToString)

End Try

End Sub

* Public Sub eliminar()

Try

Dim comando As New SqlCommand

With comando

.Connection = cn

.CommandType = CommandType.StoredProcedure

.CommandText = "eliminar_personal"

.Parameters.Add("@cod", SqlDbType.Char).Value = id_per

Page 31: ASP Ejemplos

.Parameters.Add("@nom", SqlDbType.NVarChar).Value =

nombre

.Parameters.Add("@ape", SqlDbType.NVarChar).Value =

apellido

.Parameters.Add("@sex", SqlDbType.Char).Value = sexo

.Parameters.Add("@dni", SqlDbType.Char).Value = dnip

.Parameters.Add("@cc", SqlDbType.Int).Value = cargo

.Parameters.Add("@cd", SqlDbType.Int).Value = distrito

cn.Open()

.ExecuteNonQuery()

cn.Close()

End With

Catch ex As Exception

MsgBox(ex.ToString)

End Try

End Sub

* Public Sub actualizar()

Try

Dim comando As New SqlCommand

With comando

.Connection = cn

.CommandType = CommandType.StoredProcedure

.CommandText = "actualizar_personal"

.Parameters.Add("@cod", SqlDbType.Char).Value = id_per

.Parameters.Add("@nom", SqlDbType.NVarChar).Value = nombre

.Parameters.Add("@ape", SqlDbType.NVarChar).Value =

apellido

.Parameters.Add("@sex", SqlDbType.Char).Value = sexo

.Parameters.Add("@dni", SqlDbType.Char).Value = dnip

.Parameters.Add("@cc", SqlDbType.Int).Value = cargo

.Parameters.Add("@cd", SqlDbType.Int).Value = distrito

cn.Open()

.ExecuteNonQuery()

cn.Close()

End With

Catch ex As Exception

MsgBox(ex.ToString)

End Try

End Sub

* Public Sub buscar(ByVal codi As String)

Try

Dim ds As New DataSet

Dim da As New SqlDataAdapter("buscar_personal", cn)

da.SelectCommand.CommandType = CommandType.StoredProcedure

da.SelectCommand.Parameters.Add("@cod", SqlDbType.Char).Value =

codi

da.Fill(ds, "per")

If ds.Tables("per").Rows.Count > 0 Then

Page 32: ASP Ejemplos

With ds.Tables("per")

nombre = .Rows(0)("nombres")

apellido = .Rows(0)("apellidos")

sexo = .Rows(0)("sexo")

dnip = .Rows(0)("dni")

cargo = .Rows(0)("id_cargo")

distrito = .Rows(0)("id_distrito")

End With

End If

Catch ex As Exception

MsgBox(ex.ToString)

End Try

End Sub

End Class

Codigo para llamar alas clases en el web form:

Partial Class personal

Inherits System.Web.UI.Page

Sub limpiar()

tcodigo.Text = ""

tnombre.Text = ""

tapellido.Text = ""

tdni.Text = ""

tcodigo.Focus()

End Sub

Dim i As Integer = 0

Protected Sub Bguardar_Click(ByVal sender As Object, ByVal e As

If Me.tapellido.Text = "" _

Or Me.tdni.Text = "" Then

MsgBox("Llene los campos que faltan")

Else

Dim oguarda As New class1

With oguarda

.id_per = Microsoft.VisualBasic.Left(tnombre.Text, 3)

.nombre = Me.tnombre.Text

.apellido = Me.tapellido.Text

.sexo = Me.cmbsexo.SelectedValue

.dnip = Me.tdni.Text

.cargo = Me.cmbcargo.SelectedValue

.distrito = Me.cmbdistrito.SelectedValue

.guardar()

End With

limpiar()

End If

Protected Sub Button1_Click1(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button1.Click

'codigo para buscar

Dim obusca As New class1

obusca.buscar(tcodigo.Text)

Me.tnombre.Text = obusca.nombre

Me.tapellido.Text = obusca.apellido

Me.cmbsexo.SelectedValue = obusca.sexo

Me.tdni.Text = obusca.dnip

Me.cmbcargo.SelectedValue = obusca.cargo

Me.cmbdistrito.SelectedValue = obusca.distrito

Page 33: ASP Ejemplos

End Sub

Protected Sub Button4_Click1(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button4.Click

'codigo para eliminar

Dim oeliminar As New class1

With oeliminar

.id_per = Me.tcodigo.Text

.nombre = Me.tnombre.Text

.apellido = Me.tapellido.Text

.sexo = Me.cmbsexo.SelectedValue

.dnip = Me.tdni.Text

.cargo = Me.cmbcargo.SelectedValue

.distrito = Me.cmbdistrito.SelectedValue

.eliminar()

End With

limpiar()

End Sub

Protected Sub Button3_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button3.Click

'codigo para actualizar

Dim oactualizar As New class1

With oactualizar

.id_per = Me.tcodigo.Text

.nombre = Me.tnombre.Text

.apellido = Me.tapellido.Text

.sexo = Me.cmbsexo.SelectedValue

.dnip = Me.tdni.Text

.cargo = Me.cmbcargo.SelectedValue

.distrito = Me.cmbdistrito.SelectedValue

.actualizar()

End With

End Sub

Protected Sub Button5_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Button5.Click

limpiar()

End Sub

End Class