jueves, 15 de diciembre de 2011

<object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/2QCHCbYbNmY?version=3&feature=player_detailpage"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/2QCHCbYbNmY?version=3&feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"></object>

OBJETO ADO

OBJETO ADO
(Microsoft ActiveX Data Objects - ADO). Conjunto de objetos COM para el acceso a recursos de datos. Prevé una capa entre los lenguajes de programación y las bases de datos OLE, lo que permite a los programadores escribir programas que accedan a datos, sin saber cómo está implementada la base de datos (sólo se debe tener cuidado en la conexión a la misma). Tampoco es necesario conocer sobre SQL cuando se usa ADO, aunque también pueden utilizarse comandos SQL, pero esto crearía en el programa una dependencia del tipo de base de datos usado.

En otras palabras, ADO es un mecanismo que utilizan los programas para comunicarse con las bases de datos. Forma parte de lenguajes como Visual Basic, Delphi, ASP, etc. La versión ADO.NET forma parte de la plataforma de programación .NET de Microsoft.

ADO fue introducido por Microsoft en 1996, y sustituyó tanto a DAO (Data Access Object), como a RDO (Remote Data Object), ambos sistemas se utilizaban antes para acceder a las bases de datos locales y remotas respectivamente

INTRODUCCION

En este ejemplo se accede a una base de datos de Access usando ADO.


Lo único que tenemos que hacer es:
  • Indicar que se va a usar compatibilidad con COM. Esto se consigue indicando aspcompat = true en la directiva ASP.NET indicada al principio de la página.
  • La forma de acceder a los objetos ADO (que son COM/ActiveX) ya que habrá que usar código "compatible" con punto NET, al menos en la forma de llamar a los métodos y funciones, es decir usando los paréntesis para encerrar los parámetros. Ya que por lo demás, el código es "exactamente" el mismo que se usaría con ASP y VBScript.

En el ejemplo siguiente, se da por supuesto que existe un directorio llamado "datos" que está en el mismo directorio que la página ASPX, si cambias la localización de ese directorio, tendrás que cambiar el código de la conexión, más concretamente en el parámetro a Server.MapPath(...).
En el zip con el ejemplo, incluyo una pequeña base de datos que es la usada en el formulario Web.
Por tanto, si lo descomprimes, procura que la base de datos se quede dentro del directorio "datos".
De forma predeterminada se creará ese directorio.
¿Dónde descomprimir el fichero?
Dentro del directorio "localhost", por defecto es: C:\Inetpub\wwwroot
Para acceder a la página de prueba, tendrás que usar http://localhost/ejemploAccessADO.aspx
Por supuesto esto sólo será posible si tienes el Windows 2000/XP Profesional o un Windows Server que tenga instalado el IIS.

En este ejemplo sólo muestro el código de Visual Basic, ya que al fin y al cabo es BScript.
 Ejemplo
<%
' Variables usadas para crear los objetos, etc.
Dim Rst, Cnn
Dim sConn, sTip
Dim sTitulo, sLink, sApartado, sDescripcion
Dim s, i

' Crear los objetos
Cnn = Server.CreateObject("ADODB.Connection")

' Crear la conexión a la base de datos
sConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
        Server.MapPath("datos\elguille.mdb") & ";"
Cnn.Open(sConn)
' Crear la cadena SQL
s = "SELECT * FROM Titulos ORDER BY Apartado ASC"
Rst = Cnn.Execute(s)

On Error Resume Next
Err.Clear
' Buscar desde el principio
Rst.MoveFirst
i = 0
Do While Not (Rst.BOF Or Rst.EOF)
    i = i + 1
    With Rst
        ' Asignar a las variables el contenido del registro
        sTitulo = .Fields("Titulo").Value & ""
        sLink = .Fields("Link").Value & ""
        sApartado = .Fields("Apartado").Value & ""
        sDescripcion = .Fields("Descripcion").Value & ""
        ' Mostrar los datos hallados
        Response.Write(i & "- <a href='" & sLink & "'>" & _
               sTitulo & "</a> <b>(" & _
               sApartado & ")</b><br>" & sDescripcion & "<br>")
    End With
    '
    ' Mostrar el siguiente registro
    Rst.MoveNext
Loop
Response.Write("<br>")
Err.Clear
If i = 0 Then
    Response.Write("<br><b>No se ha encontrado ningún registro que contenga")
    Response.Write(" lo que has especificado.</b><br>")
    Response.Write("Pulsa en este link para <b>")
    Response.Write("<a href='mostrarDatosTodo.aspx'>"
    Response.Write("Mostrar todos los registros</a></b>.<br>")
End If
'
Rst.Close
Cnn.Close

Rst = Nothing
Cnn = Nothing
'
%>

MODELO DAO

MODELO DAO

 (Objetos de Acceso a Datos) viene definido como sigue:
Podemos utilizar el modelo de Objetos de Acceso a Datos para manipular bases de datos bien en el modelo nativo del motor de acceso JET (.MDB) o bien en cualquier otro formato ISAM (Fox, dBASE, Excel, Btrieve, Paradox, y Text).

El modelo de datos DAO (DbEngine, WorkSpace, Database y Recordset)
       DAO incorpora en sus librerías, todos los objetos necesarios para la creación, eliminación y modificación de una estructura de datos, incorporando además herramientas para la utilización de los datos almacenados. 
EJEMPLO
       
El objeto principal, de esta estructura jerarquizada de objetos, es DBEngine. Éste objeto, no puede ser elemento de ninguna colección, por lo que no pueden crearse objetos DBEngine adicionales.
       Con los métodos .OpenDatabase y .CreateWorkSpace, del objeto DbEngine, podemos crear llamadas a una base de datos; directamente para almacenar en el espacio de trabajo predefinido, o para añadir espacios de trabajos adicionales a la coleccion de objetos WorkSpace, donde abrir posteriormente la base de datos.
       Los valores devueltos por esos dos métodos son:
       .CreateWorkSpace:
       Añade un nuevo objeto de area de trabajo, a la coleccion de objetos WorsSpace, en el Objeto DbEngine.
       .OpenDatabase:
       Devuelve un objeto Database, que referencia una base de datos, en el área de trabajo predeterminada.
       Dim Db As Database
       Set Db = DbEngine.WorkSpace(0).OpenDatabase("Ruta del fichero de datos")
       O bien, de la siguiente manera para el área de trabajo predeterminada.
       Dim Db As Database
       Set Db = DbEngine.OpenDatabase("Ruta del fichero de datos")
       El objeto Database devuelto por el método .OpenDatabase, posee a su véz otras colecciones de objetos, pero siguiendo el ejemplo, de abrir una base de datos y mostrar registros, vamos a tratar solamente sobre el objeto Recordset (conjunto de registros).
       El método que vamos a usar para rellenar el objeto Recorset, con los registros es: .OpenRecordset, y es aquí donde vamos ejecutar una instrucción SQL para definir los registros que vamos a mostrar.
       Dim Rst As Recordset
       Set Rst = Db.OpenRecordset("SELECT * FROM Personas")
       Para realizar el ejemplo hay que crear una base de datos llamada MisDatos.mdb, que contenga una tabla denominada Personas, y guardarla en la misma carpeta donde vayamos a guardar el proyecto. Crear un proyecto nuevo. Añadir en Referencias una llamada a la libreria: Microsoft DAO 3.51 Object Library. En el formulario poner un control Data y un DbGrid, enlazado al Data. Añadir este código. Guardar el proyecto y ejecutar (F5).
       Se comienza con la declaración de los objetos que vamos a utilizar, uno para la base de datos y otro para el conjunto de registros a usar.
       Option Explicit
       Dim Db As Database
       Dim Rst As Recordset
       A continuación ejecutamos las instrucciones necesarias para cargar la base de datos y rellenar el recorset, asignándolo luego al control Data1.
       Private Sub Form_Load()
              Set Db = DbEngine.OpenDatabase(App.Path & "\MisDatos.mdb")
              Set Rst = Db.OpenRecordset("SELECT * FROM Personas")
              Data1.DatabaseName = App.Path & "\MisDatos.mdb"
              Set Data1.Recordset = Rst
       End Sub
       Con ésto tendremos los datos mostrados en la rejilla de datos.
       Otra forma de mostrar los registros obtenidos, sería registro a registro, en controles TextBox, éstos pueden estar enlazados al igual que el DbGrid a un control Data o mostrar los registro directamente desde el objeto Rst, mediante el siguiente código:
       Supongamos una matriz con controles TextBox, uno por cada campo que exista en la Tabla.
       Dim i As Long
       For i = 0 to Rst.Fields.Count - 1
              Text1(i).Text = Rst(i)
       Next i

lunes, 12 de septiembre de 2011

Introduccion de Visual Basic 6.0.



 INTRODUCCION:

Visual Basic 6.0 es uno de los lenguajes de programación que más entusiasmo despiertan entre los programadores de PCs, tanto expertos como novatos.En el caso de los programadores expertos por la facilidad con la que desarrollan aplicaciones complejas en poquísimo tiempo (comparado con lo que cuesta programar en Visual C++, por ejemplo). En el caso de los programadores novatos por el hecho de ver de lo que son capaces a los pocos minutos de empezar su aprendizaje.

Visual Basic 6.0 es también un programa basado en objetos, aunque no orientado a objetos como C++ o Java. La diferencia está en que Visual Basic 6.0 utiliza objetos con propiedades y métodos, pero carece de los mecanismos de herencia y polimorfismo propios de los verdaderos lenguajes orientados a objetos como Java y C++.

Programas secuenciales, interactivos e orientados a eventos VB 6.0



PROGRAMAS SECUENCIALES, INTERACTIVOS Y ORIENTADOS A EVENTOS

En los primeros tiempos de los ordenadores los programas eran de tipo secuencial (también llamados tipo batch) Un programa secuencial es un programa que se arranca, lee los datos que necesita, realiza los cálculos e imprime o guarda en el disco los resultados. De ordinario, mientras un programa secuencial está ejecutándose no necesita ninguna intervención del usuario. A este tipo de programas se les llama también programas basados u orientados a procedimientos a algoritmos (procedural lenguajes) lo que debe hacer por medio de menús.

Los programas interactivos limitan y orientan la acción del usuario. Un ejemplo de programa interactivo podría ser 


Los programas interactivos exigen la intervención del usuario en tiempo de ejecución, bien para suministrar datos, bien para indicar al programaMatlab

Programas para el entorno de Windows Visual Basic 6.0



PROGRAMAS PARA EL ENTORNO WINDOWS Visual Basic 6.0

Está orientado a la realización de programas para Windows, pudiendo incorporar todos los elementos de este entorno informático: ventanas, botones, cajas de diálogo y de texto, bo- tones de opción y de selección, barras de desplazamiento, gráficos, menús, etc. Prácticamente todos los elementos de interacción con el usuario de los que dispone Windows 95/98/NT/XP pueden ser programados en Visual Basic 6.0 de un modo muy sencillo. En ocasiones bastan unas pocas operaciones con el ratón y la introducción a través del teclado de algunas senten- cias para disponer de aplicaciones con todas las características de Windows 95/98/NT/XP. En los siguientes apartados se introducirán algunos conceptos de este tipo de programación

Modo de diseño y Modo de ejecución de VB 6.0



MODO DE DISEÑO Y MODO DE EJECUCIÓN

la aplicación Visual Basic de Microsoft puede trabajar de dos modos distintos:

En modo  de  diseño  el  usuario  construye  interactivamente  la  aplicación, colocando controles en el  formulario, definiendo  sus propiedades, y desarrollando  funciones para 
gestionar los eventos. 

La aplicación se prueba en modo de ejecución. En ese caso el usuario actúa sobre el programa 
(introduce eventos) y prueba cómo responde el programa. Hay algunas propiedades de los controles que deben establecerse en modo de diseño, pero muchas otras pueden cambiarse en  tiempo de ejecución  desde  el  programa  escrito  en  Visual Basic  6.0