Database Usando Mysql Tutorial

Antes de ir al Soporte consultame aquí, gracias
Responder
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Database Usando Mysql Tutorial

Mensaje por BasicOs »

Un tutorial, para la base de datos Mysql en Autoit. La mejor base, más útil y estable de las que podemos uar, es la que se usa en las webs de internet. Este mismo foro está hecho basado en Mysql.

Si sabes algo de sql, es realmente facil usar las funciones de mysql, hacer $var = _Query($sql,"SELECT * FROM MiTabla"), para obtener unos resultados.
Necesitarias una clausula Select para realizar cualquier consulta.
Y si no sabes nada de nada de sql, lo aprenderas en unos minutos siguiendo esto:


http://www.emesn.com/autoitforum/search ... ywords=sql

http://www.emesn.com/autoitforum/viewto ... 265&p=2909


Bueno puedes empezar con este enlace que es muy simple y no necesitas saber nada de mysql si ya tienes la base de datos creada:
Esto viene de usar autoit con mysql y un server tipo apache.
http://www.emesn.com/autoitforum/viewto ... p=285#p285

Código: Seleccionar todo

#include "MySQL.au3"

$sql = _MySQLConnect("sa","sa","mydb","mywebsite.com") ;usando libreria mysql directamente

$var = _Query($sql,"SELECT * FROM mytable WHERE user = 'pepe'") ; creo un select para buscar los registros de mytable de pepe

;algun msgbox.. si quiero anunciar algo

  While NOT $var.EOF ; hace el bucle hasta que llegue al final de la consulta del select

    ;=>> aqui alguna función que haga algo con los datos la manipulas como texto,

    ;=>> recuperas el valor de las variables/campos user y telefono con->  

   MsgBox(0,"Recupere mis datos del Sql","El usuario es " & $var.Fields("user").value & ", y este es su telefono" & $var.Fields("telefono").value)

    $var.MoveNext ; mueve al siguiente registro del select

  WEnd

_MySQLEnd($sql) ;cierra la conexión

 
Debes ampliar algo la documentación, en que es una tabla mysql, para q sirve y consultar algo de ejemplos en PHP, por ejemplo, porque se accede de manera similar como puedes ver, y lo puedes usar aqui retocandolo, por ejemplo...
Salu2:)
Edit:
Las base de datos Mysql por mi experiencia, son lo mejorcito, nunca fallan, y muy rápidas y estables sobre todo en LAN (en Internet depende de la linea adsl y del hosting). En Lan, solo hay que instalar un server mysql, (opcional si lo deseas con apache), por ejemplo un xammp.

Un Tutorial muy detallado de como usar base de datos mysql y funciones, mirar donde pone Final Code para copiar el código y pegarlo en el Scite o procesador de textos/IDE. Luego lo ejecutas o compilas como siempre.Mirar aqui:
Tutorial Mysql con ejemplo completo Autoit

El post del autor original cdkid y bajar librería au3 mysql.au3 y plugin-ODBC:
http://www.autoitscript.com/forum/index ... opic=20814


Cuando hago te da error un messagebox en blanco,

Código: Seleccionar todo

#include <sql.au3>



$sql = _MySQLConnect("nodluna","getpass","keys","arkcrew.com")

$SQLCode = "SELECT * FROM licencias"

$TableContents = _Query($sql,$SQLCode)





MsgBox(0,"",$TableContents)

 

Felicidades, en solo una hora ya eres el rey del mysql, o casi

Código: Seleccionar todo

#include "MySQL.au3"
Lo tienes en el ejemplo que te puse antes, busca donde pone Final Code. :smt033
y ejemplos detallados lo copias y pegas al Scite o a tu procesador de textos, lo guardas y lo ejecutas o compilas..


Este es el código que tiene la tabla:

-- phpMyAdmin SQL Dump
-- version 2.8.2.4
-- http://www.phpmyadmin.net
--
-- Servidor: localhost:3306
-- Tiempo de generación: 02-10-2009 a las 17:11:27
-- Versión del servidor: 5.0.45
-- Versión de PHP: 5.2.6
--
-- Base de datos: `keys`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `licencias`
--

CREATE TABLE `licencias` (
`Username` varchar(20) NOT NULL,
`Password` varchar(20) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Volcar la base de datos para la tabla `licencias`
--
Tienes que bajarte la librería e instalar el odbc que te viene en el mismo sitio. Solo Instalar y aceptar todo.
El odbc..exe cuando lo instalas, es un complemento para el Windows, para que pueda trabajar con estas bases de datos: http://dev.mysql.com/downloads/connector/odbc/3.51.html
MySQL Connector/ODBC 3.51

Tienes que poner localhost si tienes la base de datos en tu mismo pc. (sale localhost) En vez del dominio de internet.

Código: Seleccionar todo

$sql = _MySQLConnect("nodluna","getpass","keys","localhost")
o 127.0.0.1
Intenta usar otras funciones a ver si te devuelve algo la base de datos, por si haces el login bien, como _GetColNames() u otras... de la lista..
_GetColNames() Gets the names of all the columns in the given table

_GetTblNames() Gets the names of all the tables in the database

_GetColvals() Gets all of the values of the specified column

_GetColType() Gets the DATA TYPE of the specified column

_GetColCount() Gets a count of all columns in the specified table

_MySQLTableExists() Find out whether or not a specified table exists

_GetDBNames() Get a list & count of databases on the current server.
Tambien puedes probar otras funciones que no devuelven datos como un insert, para crear nuevos datos o modificar los actuales..
Otra opción, es usarlo en local, e instalar un xampp, y alli crear una base de datos y tabla local para testear o practicar las funciones en lan

Al poner este código:

Código: Seleccionar todo

$dbs = _GetDbNames($sql)

For $i in $dbs

MsgBox(0,'',$i)

Next

_MySQLEnd($sql)

 
Me devuelve:

2
information_schesma
keys

Si te sale eso es que has hecho lo básico, ya estas dentro de la base de datos!!!
Solo estas a un paso de sacar los valores de los campos con las funciones que usabas.. Llamando a una consulta con el select y recuperando los valores de las variables que genera.
Salu2:)
Edit: Prueba simplemente un código más reducido y comprobar si la base no está vacia (no hay resultado para esa consulta)

Código: Seleccionar todo

$TableContents = _Query ($sql, $SQLCode)



if $TableContents.Eof    then 

    msgbox(0,"No hay datos","vacio")

else

    msgbox(0,"Si hay datos Nombre de usuario", $TableContents.Fields ("Username").value) 

    FileWriteLine("c:\test.txt",$TableContents.Fields("Username").value & @CRLF) ; graba a un fichero de texto el dato

endif

 
Pero no hay nada dentro.
Aqui te sale que la base de datos está vacia!!!!!, En el sqldump tienen que salirte los datos!!
puedes comprobarlo con usando el .EOF que puse antes. Si no hay nada el valor es verdadero, o si llega al final del fichero.

Estos datos han sido tomados de una conversación con arkcrew que translado aqui para uso libre de los autoiters, pon tus aportaciones!. :smt038 Creditos a arkcrew por colaborar en esta conversación.
tuadmin
Mensajes: 1
Registrado: 04 Feb 2010, 16:57

Re: Database Usando Mysql Tutorial

Mensaje por tuadmin »

hace 25 minutos q empiezo con autoit me parece interesante mas por el tamaño menos de 25 megas eso me gusta lo estoy abajando la sintaxis me agrada ya que soy programador en php y se algo de programacion en C bueno lo de la base de datos me esta gustando auqnue bueno aun no leo todo pero qusiera ahcer un comentario se pedue trabajr con Bases de datos Embebidas yaq mysql tiene una version embebida al estilo de SqLite seria muy bueno eso bueno solo es un comentario :) me esta gsutando el AutoIt bueno ya termino ald escarga a empezar jeej bye bye
Avatar de Usuario
gna08
Hacker del Foro
Mensajes: 379
Registrado: 27 Sep 2008, 18:51
Ubicación: Cordoba, Argentina

Re: Database Usando Mysql Tutorial

Mensaje por gna08 »

emm ace tiempo probe esto pero no me va ni para atras ni para adelante..
osea.. krea el objeto obdc o algo asi pero a la hora de conectar.. la funcion .connect no va :O alguna idea :( :smt015
Aunk no m Buskes, Seguro m enkontras!
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Database Usando Mysql Tutorial

Mensaje por BasicOs »

Eso va casi solo,
Primero testea con una pagina o por otro lado que el mysql va bien con las consultas.

Luego lo Enganchas con Autoit.

Lo mejor es que NUNCA falla ni se cuelga, nada que ver con otras bases de datos.

El fallo más típico es que no instalaste el http://dev.mysql.com/downloads/connector/odbc/3.51.html odbc conector en el equipo cliente

Además si cargas un miniservidor de mysql en el mismo pc no necesitas servidor y lo usas en local, es decir con el exe cargas el sistema mysql pegado, por ejemplo con un RAR, listo para descomprimir .. y usar
Es un ejemplo!!! :smt031
Avatar de Usuario
gna08
Hacker del Foro
Mensajes: 379
Registrado: 27 Sep 2008, 18:51
Ubicación: Cordoba, Argentina

Re: Database Usando Mysql Tutorial

Mensaje por gna08 »

C:\Documents and Settings\Administrador\Escritorio\MySQL.au3 (27) : ==> The requested action with this object has failed.:
$Objconn.open ("DRIVER=" & $sDriver & ";SERVER=" & $sServer & ";DATABASE=" & $sDatabase & ";UID=" & $sUsername & ";PWD=" & $sPassword & ";PORT="&$iPort)
$Objconn.open ("DRIVER=" & $sDriver & ";SERVER=" & $sServer & ";DATABASE=" & $sDatabase & ";UID=" & $sUsername & ";PWD=" & $sPassword & ";PORT="&$iPort)^ ERROR
:smt013 :smt013
y eso k tengo instalado el driver y todo esoo.. siempre me dio ese error :O alguna idea :smt010 :smt010
sludos!
Aunk no m Buskes, Seguro m enkontras!
Avatar de Usuario
gna08
Hacker del Foro
Mensajes: 379
Registrado: 27 Sep 2008, 18:51
Ubicación: Cordoba, Argentina

Re: Database Usando Mysql Tutorial

Mensaje por gna08 »

bueno.. llegue a la conclucion de k no puedo usar esto .. se k modificando algunos datos y readaptando kisas funcione. o kisas no es necesario hacer nada. solo sera un error mio :O jaja.
la cosa es k me da flogera.. asik opte por usar la dll de mysql k no rekiere descargar el driver conector y me parece mas efficas.. y lo mejor es k me esta funcionando jojo. solo es ahora agarrarle bien la mano al sql aunk es lo mismo k se hace en php asik ya veremos.. asik si alguien le interesa usar dll en lugar del objeto COM me avisa y le paso lo k tengo..
saludos :smt006
Aunk no m Buskes, Seguro m enkontras!
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Database Usando Mysql Tutorial

Mensaje por BasicOs »

Quería reflotar este tema para comentarlo:
con este simple código puedes manejar una demoledora tecnología en motor de base de datos como mysql (un ejemplo copiado de arriba con recuperar registros, pero sería más sencillo con insertar, modificar o borrar registros cambiando la linea del select),
En dos bloques, el primero dos lineas para recuperar la info, y el segundo muestra lo recuperado:

Código: Seleccionar todo

#include "MySQL.au3"
$sql = _MySQLConnect("usuarioMysql","contrasenaUsuario","mybasededatosCreadaenMysql","miDireccionweb.com O la ipdelamisma") ;usando libreria mysql directamente 
$var = _Query($sql,"SELECT * FROM agenda WHERE nombre= 'pepe'") ; Select para buscar los registros de mytable de pepe


  While NOT $var.EOF ; Bucle hasta que llegue al final de la consulta anterior, muestra el valor de las variables/campos nombre y telefono:  
   MsgBox(0,"Recupere mis datos del Sql","El usuario es " & $var.Fields("nombre").value & ", y este es su telefono" & $var.Fields("telefono").value)
    $var.MoveNext ; pasa al siguiente registro del select
  WEnd

_MySQLEnd($sql) ;cierra la conexión

 
Solo algunas notas sobre el uso:
Que con phpmyadmin o heidisql se puede crear graficamente la base de datos y asignar los usuarios (una vez instalado mysql, normalmente con xampp: http://www.apachefriends.org/es/xampp.html (se puede instalar en el propio pc usando la ip 127.0.0.1, o http://es.wikipedia.org/wiki/Localhost), o en otro pc linux o windows usando su IP o nombre.
Tambien es portable arrancando el ejecutable que incia el servidor apache o el panel del xammp.(Con la versión portable de lite que ocupa unos 100Mb valdría) http://portableapps.com/apps/development/xampp
Arrancar la base de datos y el Apache con: http://www.apachefriends.org/en/xampp-windows.html#1173

Si no deseas instalar el odbc driver de la página de mysql, puedes buscar en el foro un fichero.dll que sustituye a la instalación.(opcional)
Si usas el odbc driver, solo instalarlo sin configurar nada: http://dev.mysql.com/downloads/connector/odbc/

Funciones de mysql.au3: http://www.autoitscript.com/forum/index ... opic=20814
Versión del ODBC de mysql: (Se ve en panel control->herramientas administrativas->ODBC buscar el que ponga mysql.)
En la linea número 19 del mysql.au3 viene $sDriver = "{MySQL ODBC 3.51 Driver}" cambiar por $sDriver = "{MySQL ODBC 5.1 Driver}" o la que fuera la versión 5.1 de la página de mysql, sino da un error.

Solo comentar que autoit es TRANSPARENTE, en el uso de la base de datos, quiero decir que depende SOLO DE ESTUDIAR MYSQL y sus 4 COMANDOS:
Altas insert
bajas delete
consultas select
modificar update
Se pueden hacer operaciones necesarias para cualquier gestión de base de datos.
Salu22:) :smt024
PD: Un tutorial detallado en el foro en busquedas y aquí tambien: http://dailycupoftech.com/2007/04/18/my ... th-autoit/
Edit: si alguien usa la mysql.dll en vez del driver odbc, si puede explicar como le va y añadir al post un ejemplo de los pasos a hacer (no lo he usado pero sería poner la dll en la misma carpeta que el programa y nada más?)
Avatar de Usuario
frp64
Mensajes: 18
Registrado: 20 Jul 2010, 09:40
Ubicación: Canarias

Re: Database Usando Mysql Tutorial

Mensaje por frp64 »

Buenas, he realizado un fichero word con la traducción a español del documento sobre Mysql de la página que se ha comentado. Si alguien está interesado, por favor, responder a este correo y le enviaré el fichero en cuestión.

Saludos
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Database Usando Mysql Tutorial

Mensaje por BasicOs »

Si deseas publicarlo por aquí, o crear un tópico sobre este puedes hacer, :smt039 :smt039
Gracias,
Salu22:)
Avatar de Usuario
frp64
Mensajes: 18
Registrado: 20 Jul 2010, 09:40
Ubicación: Canarias

Re: Database Usando Mysql Tutorial

Mensaje por frp64 »

Hola, tendría que adaptar el documento word al formato de la página para poder integrar las imágenes.

Saludos
Responder