UNIDAD 5: PROGRAMACION VISUAL BASIC INTRODUCION A LAS BASES DE DATOS

TEMA 11: OPERACIONES CON CAMPOS PROGRAMACION POCKET PC PDA

Este es tambien un caso comun con elementos de una tabla, sin embargo es tambien facil de resolver.

Es necesario recordar primero algunas cosas elementales:

1.- Recordar que el numero de columna en una tabla empieza en 0, esto es que para realizar alguna operacion por ejemplo la columna edad del ejemplo que estamos siguiendo, su numero de columna es la 2.

2.- La operacion que se plantee se puede realizar con todos los renglones de la tabla o con un solo renglon de la tabla(del dataset), para procesar todos los renglones se usa un ciclo for, si solo se quiere procesar un solo renglon o una celda o columna nada mas, solo recordar GET-SET y solo usar un tabla.tables.rows®© con los metodos strings apropiados.

3.- Para realizar aritmetica con toda una columna, solo usar el GET-SET de tabla.tables.rows(ren)(col) para leer(get)o cargar(set), en leer recordar que saldra una string y en cargar recordar que se tendra que cargar tambien una string, otra vez;

string alfa=tabla.Tables(“Clientes”).Rows(4)(5) –>carga como string la variable alfa con el dato que se tiene en la sexta columna del quinto renglon de la tabla clientes.

tabla.Tables(“alumnos”).Rows(2)(3)=“MAMA” –> carga con la string MAMA la cuarta columna del tercer rennglon de la tabla alumnos.

5.- En el ejemplo se realiza la operacion con todos los renglonesde la tabla y no olvidar que se tiene que usar la instruccion sql Update para que la nueva informacion se actualize en disco, recordar que los cambios que se hacen a la tabla, es realmente al dataset, que a su vez es una tabla o base de datos en la memoria de la maquina del cliente o usuario, y estos cambios hay que actualizarlos o pasarlos o UPDATE a la base de datos en disco.

El siguiente programa le aumenta 50 a todas las edades.

Prog22.aspx

' inicializando objetos mobiles
' y definiendo lenguaje a usar por servidor
<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"
Language=VB%>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile"%>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
' todos los controles ponerlos dentro de una forma
<mobile:Form runat=server Paginate=true>
<mobile:Command runat=server OnClick=SUMAR Text=EDAD+50 />
<mobile:OBJECTLIST ID=GRID RUNAT=SERVER
AUTOGENERATEFIELDS=TRUE
Font-Name=Verdana
Font-Size=Large
Font-Bold=True
BackColor=#ccccff>
</mobile:OBJECTLIST>
</mobile:Form>
<SCRIPT RUNAT=SERVER>
' creando y cargando coneccion, adpater, dataset, command
' como variables globales
DIM coneccion AS OLEDBCONNECTION
DIM canal AS OLEDBDATAADAPTER
DIM tabla AS DATASET
DIM orden AS OLEDBCOMMAND
SUB Page_Load(Sender As Object, E As EventArgs)
' enlazando coneccion a la base de datos
coneccion = NEW OLEDBCONNECTION("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\progfacil\lauro\mibase.mdb")
' cargando el adapter con la instruccion sql
canal = NEW OLEDBDATAADAPTER("select * from mitabla", coneccion)
' cargando el dataset
tabla = NEW DATASET()
canal.FILL(tabla, "mitabla")
' cargando el datagrid
GRID.DATASOURCE = tabla
GRID.DATAMEMBER = "mitabla"
GRID.DATABIND()
' cerrando conneccion
coneccion.CLOSE()
END SUB
SUB SUMAR(Sender As Object, E As EventArgs)
' variables a usar
DIM q AS STRING
q = "UPDATE mitabla SET edad = edad *12 "
orden = new OleDbCommand(q, coneccion)
orden.Connection.Open()
orden.ExecuteNonQuery()
orden.Connection.Close()
'refrescando el datagrid
GRID.DataSource = tabla
GRID.DataMember= "mitabla"
GRID.DataBind()
END SUB
</script>

nota: como se observa se puede construir directamente la string q y no usar command.parameters() si se esta muy seguro que los tipos de datos que se mandan a disco son los apropiados para access.

Corrida prog22.aspx

image507.jpg

image508.jpg

TAREAS PROGRAMACION visual basic mobile :

1.- construir una tabla en microsoft access que traiga matricula, nombre, calif1, calif2, calif3 y promedio, cargar en access unos 5 renglones de alumnos, no cargar promedio, el promedio lo deberan calcular con un aspx.

Politica de Privacidad