lunes, 18 de febrero de 2008

Usando origenes de datos ADO 1

En esta entrada, voy a incluir un ejemplo autocontenido en el que vamos a abrir un origen de datos via ADO, y visualizaremos su contenido en una rejilla (xBrowse).
Para tal efecto, y para que no sea requerimiento tener algun servidor instalado, utilizaremos un fichero MDB (Microsoft Access), dicha base de datos la crearemos dinamicamente desde nuestro código, haciendo uso de los componentes ADOX (Active Data Objects Extension).
Para que fucnione, debemos tener instalado en nuestro ordenador el proveedor de datos Microsoft.Jet.OLEDB.4
Descargar ejecutable
Descargar código fuente

Este programa consta de dos partes, la primera parte donde creamos la base de datos, la tabla, y rellenamos con datos de prueba, que corresponde la siguiente porción de código, la cual no creo que haga falta comentar, puesto que con la lectura y los comentario en el propio código fuente, es autoexplicativo.

Creando la base de datos Demo.mdb
Como podeis ver creamos un catalogo, despues una tabla, añadimos campos a la tabla, definimos la clave primaria, y finalmente añadimos la tabla al catálogo.

Rellenando con datos de prueba
En esta segunda funcion, definimos un objeto connection, creamos un recordset, definimos CursorLocation del lado del cliente (salvo contadas excepciones, siempre los definiremos del lado del cliente), tipo de cursor Dinamico (aqui si que tendremos más juego dependiendo de las operaciones que queramos realizar con los datos), tipo de bloqueo (en este caso optimista), le indicamos cual es el objeto connection que debe usar, y la sentencia SQL a ejecutar.
Una vez abierto, mediante un bucle FOR ... NEXT vamos creando registros de prueba.

Cuando ya tenemos creado nuestra base de datos access, lo único que nos resta es visualizar los registros que le hemos incorporado.
Con muy pocas instrucciones podemos ver en pantalla todos los registros, en esta primera entrega, solo visualizaremos los registros no haremos ninguna funcion de mantenimiento, si bien en la fucnion CrtTstDat, ya podeis ver como funciona la mecánica para añadir registros.

En la función VerMdb, recuperamos todos los datos contenidos en la tabla Cliente, y los visualizamos en un Browse. Con solo diez lineas es suficiente, y eso en parte es gracias al uso del metodo SetAdo(aportación personal donada a FiveTech) de la clase xBrowse que nos crea las columnas y nos configura los codeblock de movimiento (bGoTop, bGoBottom, bSkip, ... )

Visualizar Tabla en rejilla
Espero que os sea de utilidad, espero vuestros comentarios.
Saludos.

(ADOX:Catalog ADOX:Table ADOX:Key ADODDB:Connection ADODB:RecordSet tXBrowse SetAdo )