MYsql sin instalar nada? [SOLUCIONADO]
MYsql sin instalar nada? [SOLUCIONADO]
Me estaba preguntando si es posible utilizar la extension de mysql en autoit pero sin tener que instalar nada.
Lo pregunto, porque estoy haciendo una aplicacion en la cual uso mysql, y la quiero distribuir a mis usuarios pero claro.. tengo que hacer que se instalen los drivers.. y ya se empiezan a mosquear xD
Siento si ya esta la respuesta por el foro, he estado buscando y no he encontrado nada.
Gracias de antemano.
Lo pregunto, porque estoy haciendo una aplicacion en la cual uso mysql, y la quiero distribuir a mis usuarios pero claro.. tengo que hacer que se instalen los drivers.. y ya se empiezan a mosquear xD
Siento si ya esta la respuesta por el foro, he estado buscando y no he encontrado nada.
Gracias de antemano.
Última edición por MaTaXeToS el 20 Abr 2010, 17:01, editado 1 vez en total.
- Chefito
- Profesional del Autoit
- Mensajes: 2035
- Registrado: 21 Feb 2008, 18:42
- Ubicación: Albacete/Cuenca (España)
Re: MYsql sin instalar nada?
Mmmmm....no has buscado lo suficiente .
http://www.emesn.com/autoitforum/viewto ... +dll#p7355
La dll que necesitas está en la página oficial de mysql, en la zona de descargas (download).
Saludos.
http://www.emesn.com/autoitforum/viewto ... +dll#p7355
La dll que necesitas está en la página oficial de mysql, en la zona de descargas (download).
Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Re: MYsql sin instalar nada?
Bua, muchas gracias, voy a ver que tal va el tema este. sorry por no buscar bien :P
Re: MYsql sin instalar nada?
buff, no logro conseguir que me funcione con la DLL..
a ver si me podeis hechar una manita, luego yo ya seguire programando con las mejoras que he de hacer, os lo agradeceria mucho.
El problema es que no se como hacer para recoger los datos, ni para hacer un count para ver si hay algun dato con el select que estoy haciendo etc,
el script que pongo es el que tengo y funciona correctamente pero con el driver, y me gustaria si pudierais ayudarme a pasarlo a DLL.
a ver si me podeis hechar una manita, luego yo ya seguire programando con las mejoras que he de hacer, os lo agradeceria mucho.
El problema es que no se como hacer para recoger los datos, ni para hacer un count para ver si hay algun dato con el select que estoy haciendo etc,
el script que pongo es el que tengo y funciona correctamente pero con el driver, y me gustaria si pudierais ayudarme a pasarlo a DLL.
Código: Seleccionar todo
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.0
Author: MaTaXeToS
Script Function:
Veritas CSSMIXES.es.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include "mysql.au3"
Dim $UserName = "root"
Dim $Password = "password"
Dim $Database = "basededatos"
Dim $MySQLServerName = ".localhost"
Dim $TableName = "tabla"
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
$login = GUICreate("Veritas - v1.0", 246, 154, 267, 211)
$login_grupo1 = GUICtrlCreateGroup("Login", 8, 0, 233, 129)
$inputuser = GUICtrlCreateInput("", 104, 24, 121, 21)
$inputpassword = GUICtrlCreateInput("", 104, 56, 121, 21)
$texto_usuario = GUICtrlCreateLabel("Usuario", 24, 24, 40, 17)
$texto_password = GUICtrlCreateLabel("Contraseña", 24, 56, 58, 17)
$identificar = GUICtrlCreateButton("Identificar", 40, 88, 75, 25, $WS_GROUP)
$cerrar = GUICtrlCreateButton("Cerrar", 128, 88, 75, 25, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetOnEvent($GUI_EVENT_CLOSE, "_cerrar")
GUICtrlSetOnEvent($cerrar, "_cerrar")
GUICtrlSetOnEvent($identificar, "_identificar")
$estado = _GUICtrlStatusBar_Create($login)
_GUICtrlStatusBar_SetSimple($estado)
_GUICtrlStatusBar_SetBkColor($estado, 0xF0FBFF)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
; FUNCION PARA MANTENER LA VENTANA ACTIVA
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _cerrarventana()
GUIDelete(@GUI_WinHandle)
EndFunc
; FUNCION DEL IDENTIFICADOR
Func _identificar()
$erroruser = 0
$errorpassword = 0
$errornoexiste = 0
$errorpwmal = 0
$usuario = GUICtrlRead($inputuser)
$pass = GUICtrlRead($inputpassword)
If $usuario == "" Then
$erroruser = 1
EndIf
If $pass == "" Then
$errorpassword = 1
EndIf
; NO HA INTRODUCIDO NADA
If $erroruser == 1 Then
If $errorpassword == 1 Then
_GUICtrlStatusBar_SetText($estado, " Porfavor introduzca usuario y contraseña")
EndIf
EndIf
; HA INTRODUCIDO EL USER PERO NO LA PW
If $erroruser == 0 Then
If $errorpassword == 1 Then
_GUICtrlStatusBar_SetText($estado, " Porfavor introduzca la contraseña")
EndIf
EndIf
; HA INTRODUCIDO LA PW PERO NO EL USER
If $erroruser == 1 Then
If $errorpassword == 0 Then
_GUICtrlStatusBar_SetText($estado, " Porfavor introduzca el contraseña")
EndIf
EndIf
; SI NO SE HA DETECTADO NINGUN ERROR
If $errorpassword == 0 Then
If $erroruser == 0 Then
_login($usuario,$pass)
EndIf
EndIf
EndFunc
; FUNCION DEL LOGIN
Func _login($usuario,$pass)
$sql = _MySQLConnect ($UserName, $Password, $Database, $MySQLServerName)
$SQLCode = "SELECT * FROM usuarios WHERE alias='" & $usuario & "'"
$var = _Query ($sql, $SQLCode)
$count = _CountRecords($sql, $TableName, 'alias', $usuario)
While NOT $var.EOF
$usuario_id = $var.Fields("id").value
$usuario_steamid = $var.Fields("steamid").value
$usuario_password = $var.Fields("password").value
$usuario_alias = $var.Fields("alias").value
$var.MoveNext
WEnd
if $count <> 0 Then
if $usuario_password == $pass Then
_GUICtrlStatusBar_SetText($estado, " TODO OK")
_mixes()
Else
_GUICtrlStatusBar_SetText($estado, " CONTRASEÑA INCORRECTA")
EndIf
Else
_GUICtrlStatusBar_SetText($estado, " No existe el usuario")
EndIf
_MySQLEnd($sql)
EndFunc
Func _mixes()
GUISetState(@SW_HIDE, $login)
GUICreate("", 211, 162)
GUISetOnEvent($GUI_EVENT_CLOSE,"_cerrarventana")
GUICtrlCreateButton("Hacer Click", 68, 60, 95, 25, 0)
GUICtrlSetOnEvent(-1,"_cerrar")
GUISetState(@SW_SHOW)
EndFunc
; FUNCIONES DE CERRAR EL FORMULARIO
Func _cerrar()
Exit
EndFunc
- BasicOs
- Site Admin
- Mensajes: 2091
- Registrado: 21 Nov 2006, 19:24
- Ubicación: El Internet - (Canarias, España)
- Contactar:
Re: MYsql sin instalar nada?
HOla
debería funcionar igual solo llamando a la dll,
En el enlace que te ha dado Chefito hay un ejemplo de código para saber como usar la dll,
Usa este código y vas modificando el nombre de la base de datos y las consultas y ya, (o bien copias y pegas las cabeceras o lo que te interese).
tienes algún mensaje de error o algo que te diga?
Salu22:)
debería funcionar igual solo llamando a la dll,
En el enlace que te ha dado Chefito hay un ejemplo de código para saber como usar la dll,
Usa este código y vas modificando el nombre de la base de datos y las consultas y ya, (o bien copias y pegas las cabeceras o lo que te interese).
tienes algún mensaje de error o algo que te diga?
Salu22:)
Re: MYsql sin instalar nada?
bueno, despues de mirar y remirar el codigo, he conseguido hacer k m rule, ara ya podre pasar el programita a mis users xdd
bueno, cuando este terminado posteo el resultado, gracias.
bueno, cuando este terminado posteo el resultado, gracias.
Re: MYsql sin instalar nada?
Bueno, voy a postear el codigo que habia puesto anteriormente pero con el sistema de mysql-dll.
Ademas, he añadido algunas cositas, como por ejemplo, el que recuerde el usuario y la contraseña si estos cuando han sido verificados son correctos, para que la proxima vez que se habra el programa, no se necesite volver a escribirlos.
Espero que les pueda servir a otros el code.
gracias a los admins por darme la info :P, esta es mi segunda aplicacion, cuando la tenga terminada la posteo, el uso en si, es una aplicacion de escritorio para optimizar las funciones que se podrian hacer en mi pagina web, pero desde el mismo programa, de esta manera, no necesitas ni abrir la web ni nada, todo por ser vagos xDD.
Gracias :P
Código: Seleccionar todo
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.0
Author: MaTaXeToS
Script Function:
Veritas CSSMIXES.es.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiImageList.au3>
#include <GuiButton.au3>
#include <array.au3>
#include "mysql.au3"
_MySQL_InitLibrary()
Dim $MysqlConn = _MySQL_Init()
Dim $connected = _MySQL_Real_Connect($MysqlConn,"localhost","root","","cssmixes")
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
$login = GUICreate("Veritas - v1.0", 246, 154, 267, 211)
$login_grupo1 = GUICtrlCreateGroup("Login", 8, 0, 233, 129)
; MIRO SI YA EXISTE LOS REGISTROS DEL USUARIO Y LA CONTRASEÑA
$reguser = RegRead("HKEY_CURRENT_USER\Software\CSSMIXES", "usuario")
$regpassword = RegRead("HKEY_CURRENT_USER\Software\CSSMIXES", "password")
If $reguser <> "" Then
$inputuser = GUICtrlCreateInput($reguser, 104, 24, 121, 21)
Else
$inputuser = GUICtrlCreateInput("", 104, 24, 121, 21)
EndIf
If $regpassword <> "" Then
$inputpassword = GUICtrlCreateInput($regpassword, 104, 56, 121, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
Else
$inputpassword = GUICtrlCreateInput("", 104, 56, 121, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
EndIf
$texto_usuario = GUICtrlCreateLabel("Usuario", 24, 24, 40, 17)
$texto_password = GUICtrlCreateLabel("Contraseña", 24, 56, 58, 17)
$identificar = GUICtrlCreateButton("Identificar", 40, 88, 75, 25, $WS_GROUP)
$cerrar = GUICtrlCreateButton("Cerrar", 128, 88, 75, 25, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetOnEvent($GUI_EVENT_CLOSE, "_cerrar")
GUICtrlSetOnEvent($cerrar, "_cerrar")
GUICtrlSetOnEvent($identificar, "_identificar")
$estado = _GUICtrlStatusBar_Create($login)
_GUICtrlStatusBar_SetSimple($estado)
_GUICtrlStatusBar_SetBkColor($estado, 0xF0FBFF)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
; FUNCION PARA MANTENER LA VENTANA ACTIVA
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _cerrarventana()
GUIDelete(@GUI_WinHandle)
EndFunc
; FUNCION DEL IDENTIFICADOR
Func _identificar()
$erroruser = 0
$errorpassword = 0
$errornoexiste = 0
$errorpwmal = 0
$usuario = GUICtrlRead($inputuser)
$pass = GUICtrlRead($inputpassword)
If $usuario == "" Then
$erroruser = 1
EndIf
If $pass == "" Then
$errorpassword = 1
EndIf
; NO HA INTRODUCIDO NADA
If $erroruser == 1 Then
If $errorpassword == 1 Then
_GUICtrlStatusBar_SetText($estado, " Porfavor introduzca usuario y contraseña")
EndIf
EndIf
; HA INTRODUCIDO EL USER PERO NO LA PW
If $erroruser == 0 Then
If $errorpassword == 1 Then
_GUICtrlStatusBar_SetText($estado, " Porfavor introduzca la contraseña")
EndIf
EndIf
; HA INTRODUCIDO LA PW PERO NO EL USER
If $erroruser == 1 Then
If $errorpassword == 0 Then
_GUICtrlStatusBar_SetText($estado, " Porfavor introduzca el contraseña")
EndIf
EndIf
; SI NO SE HA DETECTADO NINGUN ERROR
If $errorpassword == 0 Then
If $erroruser == 0 Then
_login($usuario,$pass)
EndIf
EndIf
EndFunc
; FUNCION DEL LOGIN
Func _login($usuario,$pass)
$query = "SELECT id,steamid,password,alias FROM usuarios WHERE alias='" & $usuario & "'"
_MySQL_Real_Query($MysqlConn, $query) ;mysql_query
$res = _MySQL_Store_Result($MysqlConn)
$rows = _MySQL_Num_Rows($res) ; mysql_num_rows
if $rows <> 0 Then ;si el mysql_num_rows no es 0
;$row = _MySQL_Fetch_Row_StringArray($res) ; mysql_fetch_array
;_ArrayDisplay($row)
$datos = _MySQL_Fetch_Result_StringArray($res) ;mysql_fetc_array 2
;_ArrayDisplay($datos)
$usuario_id = $datos[1][0]
$usuario_steamid = $datos[1][1]
$usuario_password = $datos[1][2]
$usuario_alias = $datos[1][3]
if $usuario_password == $pass Then
_GUICtrlStatusBar_SetText($estado, " TODO OK")
_escribirregistrousuario($usuario_alias)
_escribirregistropassword($usuario_password)
_mixes($usuario_alias, $usuario_id, $usuario_password, $usuario_steamid)
_alertasonido()
Else
_GUICtrlStatusBar_SetText($estado, " CONTRASEÑA INCORRECTA")
EndIf
Else
_GUICtrlStatusBar_SetText($estado, " No existe el usuario")
EndIf
EndFunc
Func _escribirregistrousuario($usuario_alias)
$reguser = RegRead("HKEY_CURRENT_USER\Software\CSSMIXES", "usuario")
If $reguser == "" Then
RegWrite("HKEY_CURRENT_USER\Software\CSSMIXES", "usuario", "REG_SZ", $usuario_alias)
Else
If $reguser <> $usuario_alias Then
RegWrite("HKEY_CURRENT_USER\Software\CSSMIXES", "usuario", "REG_SZ", $usuario_alias)
EndIf
EndIf
EndFunc
Func _escribirregistropassword($usuario_password)
$regpassword = RegRead("HKEY_CURRENT_USER\Software\CSSMIXES", "password")
If $regpassword == "" Then
RegWrite("HKEY_CURRENT_USER\Software\CSSMIXES", "password", "REG_SZ", $usuario_password)
Else
If $regpassword <> $usuario_password Then
RegWrite("HKEY_CURRENT_USER\Software\CSSMIXES", "password", "REG_SZ", $usuario_password)
EndIf
EndIf
EndFunc
Func _alertasonido()
SoundSetWaveVolume(100)
SoundPlay("bin\ding.wav")
EndFunc
Func _mixes($usuario_alias, $usuario_id, $usuario_password, $usuario_steamid)
GUISetState(@SW_HIDE, $login)
GUICreate("Veritas - v1.0", 211, 162)
GUISetOnEvent($GUI_EVENT_CLOSE,"_cerrarventana")
GUICtrlCreateButton("Cerrar Ventana", 68, 60, 95, 25, 0)
GUICtrlSetOnEvent(-1,"_cerrar")
GUISetState(@SW_SHOW)
EndFunc
; FUNCIONES DE CERRAR EL FORMULARIO
Func _cerrar()
Exit
EndFunc
Espero que les pueda servir a otros el code.
gracias a los admins por darme la info :P, esta es mi segunda aplicacion, cuando la tenga terminada la posteo, el uso en si, es una aplicacion de escritorio para optimizar las funciones que se podrian hacer en mi pagina web, pero desde el mismo programa, de esta manera, no necesitas ni abrir la web ni nada, todo por ser vagos xDD.
Gracias :P
- BasicOs
- Site Admin
- Mensajes: 2091
- Registrado: 21 Nov 2006, 19:24
- Ubicación: El Internet - (Canarias, España)
- Contactar:
Re: MYsql sin instalar nada?
Hola, de eso se trata hay que ser vagos, para que trabaje el pc que para eso es su función, si se puede hacer algo más simple que algo lioso y con muchos pasos, esperas, carga de varios programas, muchos clicks, cambiarlo alternativamente a hacerlo en un solo click o en dos etc.. Why not¿? Ahora estamos con los robots a ver si seguimos simplificando la vida misma fuera del pc (sobre todo para el que lo necesite), puedes dar otro paso con lo de "vago" y decirle a tu pc sin el teclado, con la voz "hola Secretario, actualizame la página web a blah blah blah", jejeMaTaXeToS escribió: las funciones que se podrian hacer en mi pagina web, pero desde el mismo programa, de esta manera, no necesitas ni abrir la web ni nada, todo por ser vagos xDD.
Gracias por tu trabajo, al final lo has solucionado tu mismo sin darte cuenta pasito a pasito ... gracias por la nota [SOLUCIONADO]
Salu22:)