Página 1 de 1

MYsql sin instalar nada? [SOLUCIONADO]

Publicado: 19 Abr 2010, 19:56
por MaTaXeToS
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.

Re: MYsql sin instalar nada?

Publicado: 19 Abr 2010, 21:50
por Chefito
Mmmmm....no has buscado lo suficiente :smt005 .

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.

Re: MYsql sin instalar nada?

Publicado: 19 Abr 2010, 22:38
por MaTaXeToS
Bua, muchas gracias, voy a ver que tal va el tema este. sorry por no buscar bien :P

Re: MYsql sin instalar nada?

Publicado: 20 Abr 2010, 00:20
por MaTaXeToS
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.

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

Re: MYsql sin instalar nada?

Publicado: 20 Abr 2010, 02:14
por BasicOs
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:)

Re: MYsql sin instalar nada?

Publicado: 20 Abr 2010, 06:14
por MaTaXeToS
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.

Re: MYsql sin instalar nada?

Publicado: 20 Abr 2010, 17:00
por MaTaXeToS
Bueno, voy a postear el codigo que habia puesto anteriormente pero con el sistema de mysql-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 <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
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

Re: MYsql sin instalar nada?

Publicado: 20 Abr 2010, 23:16
por BasicOs
MaTaXeToS 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.
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¿? :smt028 :smt028 :smt028 :smt032 :smt032 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", jeje

Gracias por tu trabajo, al final lo has solucionado tu mismo sin darte cuenta pasito a pasito ... gracias por la nota [SOLUCIONADO] :smt038

Salu22:)