UNIDAD 5: PROGRAMACION VISUAL Visual Basic BASES DE DATOS

TEMA 7: CONSULTA SQL SELECT

Existen una serie de operaciones y procesos que son muy comunes contra una tabla en una base de datos en disco la mas comun es desplegar todos los renglones de la tabla que estan almacenados en disco, a este proceso le llamaremos SELECCION, consulta o despliegue (muy original).

Como se indico anteriormente la comunicacion con la base de datos se tendran que dar usando el lenguaje especializado de bases de datos llamado SQL(structured query language), la instruccion sql que se usa para resolver este problema tiene el siguiente formato:

SELECT [listacampos, * o ALL] FROM TABLA;

El procedimiento que se intenta seguir cuando se construya un programa asp net que tenga que manipular una tabla en disco debera seguir los siguientes pasos:

1.- Crear una coneccion o enlace a la base de datos.

2.- Abrir la coneccion a la base de datos.

3.- Crear el enlace o adapater y cargarlo con la instruccion sql

4.- Crear el dataset y cargarlo a travez del adapter

5.- Cargar el GridView con el dataset y enlazarlo(binding)

6.- Procesar el GridView (editar un renglon, agregar un renglon, modificar un renglon, etc)

7.- Cerrar la coneccion

Programa:

<%@ Page Language="VB" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
' Creando y cargando objetos
Dim CANAL As SqlConnection
Dim ORDEN As SqlDataAdapter
Dim TABLA As DataSet
Dim q As String
' Aqui es donde se usa la string de coneccion
CANAL = New SqlConnection(" Persist Security Info=True;User ID=lsoto;Password=3da0caca;Initial Catalog=lsoto;Data Source=sql13.hostbasket.com")
' Creando dataset y dataadpater, recordar que select --> usa dataadapter
TABLA = New DataSet()
q = "Select * from mitabla"
ORDEN = New SqlDataAdapter(q, CANAL)
ORDEN.Fill(TABLA, "mitabla")
' Pasando el dataset al gridwiew
GRID.DataSource = TABLA
GRID.DataMember = "mitabla"
GRID.DataBind()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>BASES DE DATOS</title>
</head>
<body>
<form id="form1" runat="server">
&nbsp;&nbsp;<asp:GridView ID="GRID" runat="server">
</asp:GridView>
<br />
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="SELECT" />
</form>
</body>
</html>

Corrida:

image482.jpg

Notas:

1.- No olviden agregar los imports sqlclient en la parte de arriba de los programas.

2.- Observar y siempre incluir los namespaces indicados.

3.- El componente GRIDVIEW pasarlo por las propiedades del disenador para que le den la mejor presentacion posible.

4.- Recordar que GRIDVIEw es un WEBCONTROL por tanto hay que crearlo e inicializarlo al principio del programa, tambien recordar que GridView tiene muchas propiedades que le mejoran la interfase con que se despliega y es en esta parte donde se cargan dichas propiedades.

5.- Se empieza creando las variables globales a ocupar y abriendo la coneccion a la base de datos, si se les hace muy grande la string del provedor, pueden cargarla primero en una variable string y carguen la string en el constructor de la coneccion, pero esto es opcional.

6.- Recordar que hay otros provedores de bases de datos para cuando se quieran accesar bases de datos diferentes de ms sql server.

7.- Se crea el adapter y se carga el constructor con la instruccion sql y la coneccion, aqui es necesario entender que existen varias maneras de hacer esto:

Cargar una string con el sql y crear y usar un objeto command directamente por ejemplo objeto comand(tringsql); y luego todavia se tendria que ejecutar con executenonquery(que ejecuta una string que no regresa datos por ejemplo insert o update para un adapater) o executereader(si en lugar de usar adapter se usa un reader) o executescalar( metodo que regresa un solo dato de la base de datos)

Usar algunas de las funciones descritas del adapter por ejemplo adpatercommandselect(stringsql)

Pero lo mas sencillo fue usar el metodo que se puso en el programa, es decir crear el adapter y pasarle directamente la instruccion sql.

8.- Luego se creo el dataset y se cargo con toda la base de datos en disco, entender esto bien, dataset puede quedar cargado con todas las tablas que tenga la base de datos por eso se usa un FILL para pasar al dataset solo una de las tablas(mitabla), esto da origen a dos notas:

8.1.- al programar mas adelante se ocupara explicitamente indicarle al compilador con cual tabla se va a trabajar, es por esta razon que se veran instrucciones tales como tabla.tables[“clientes”].etc.etc. Aqui se esta diciendo al compilador que del dataset (TABLA) se va a realizar una proceso con la tabla de clientes.

8.2.- Para procesar dos o mas tablas, entonces se tendra que usar mucho el formato que se vio en la nota 8.1

9.- Al final se carga el gridview, se pega(binding) al dataset y se cierra la base de datos.

TAREAS PROGRAMACION VISUAL WEB DEVELOPER 2005 Visual Basic

1.- Desplegar una tabla que crearon en las tareas del tema anterior.

2.- Construir una pagina que despliegue dos de las tablas del tema anterior ( sugerencia o usan dos botones o usan procedimientos o usan paginas enlazadas).

Politica de Privacidad