jueves, 9 de diciembre de 2010

Como utilizar una Base de datos MDB con Autoit



Después de mucho probar y probar y enojarme con Autoit y el maldito Access logre utilizar una base de datos MDB, lo mas extraño resulto ser darme cuenta de lo simple que era. Les dejo aca unos ejemplos de como logre que funcionara. Lo unico que necesitan es unos conocimientos muy basicos de SQL y con eso alcanza para hacer casi todo lo que se nos ocurra.

$oMyError = ObjEvent("AutoIt.Error","MyErrFunc")

ahora le indicamos que base de datos vamos a usar:

$DataBase = @ScriptDir & "\basededatos.mdb"
$s_database=FileGetShortName($DataBase)

ahora creamos el objeto ADODB con el que nos conectaremos a la base de datos y realizaremos las consultas mediante comandos SQL
antes guardamos en una variable la consulta SQL que vamos a realizar:

$consultaSQL= "SELECT * FROM post ORDER BY titulo"
$objetoConnection = ObjCreate("ADODB.Connection")
$objetoRecordSet = ObjCreate("ADODB.Recordset")
$objetoConnection.Open("Driver={Microsoft Access Driver (*.mdb)};Dbq="&$s_database&";UID=;PWD=")
$objetoRecordSet.Open($consultaSQL, $objetoConnection, 2, 2)

nos movemos al primer registro devuelto por la consulta SQL

$objetoRecordSet.MoveFirst

ahora ya podemos recorrer los resultados mediante un bucle

While Not $objetoRecordSet.Eof
$resultado = $resultado & $objetoRecordSet.Fields(2).Value & @CRLF
$objetoRecordSet.MoveNext()
WEnd

cerramos la conexion:

$objetoRecordSet.Close
$objetoConnection.Close

les dejo otros comandos SQL que podemos ejecutar:

Agregar datos a la base: $consultaSQL= "INSERT INTO POST (titulo, linkdeltitulo) VALUES ("&GUICtrlRead($ta_titulo)&","&GUICtrlRead($ta_linkdeltitulo)")"
Borrar datos de la base: $consultaSQL= "DELETE FROM POST WHERE titulo = "&GUICtrlRead($ta_titulo)

DATOS IMPORTANTES:
MetodoCaracteristicas
Move Num_registrosMueve el cursor Num_registros hacia abajo si es positivo y hacia arriba si es negativo
MoveFirstMueve el cursor al primer registro del Recordset
MoveLastMueve el cursor al ultimo registro del Recordset
MoveNextMueve el cursor un registro hacia adelante
MovePreviousMueve el cursor un registro hacia atrás


FUENTES:


Links Relacionados:


2 comentarios:

InfoSIACO dijo...

lo lograste sólo con access o tienes el mssql instalado o algun otro similar?

El Soportista dijo...

solo con access
saludos y gracias por visitar el blog