MYsql sin instalar nada? [SOLUCIONADO]

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
MaTaXeToS
Mensajes: 22
Registrado: 02 Dic 2009, 09:36

MYsql sin instalar nada? [SOLUCIONADO]

Mensaje 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.
Última edición por MaTaXeToS el 20 Abr 2010, 17:01, editado 1 vez en total.
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: MYsql sin instalar nada?

Mensaje 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.
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 ;).
MaTaXeToS
Mensajes: 22
Registrado: 02 Dic 2009, 09:36

Re: MYsql sin instalar nada?

Mensaje por MaTaXeToS »

Bua, muchas gracias, voy a ver que tal va el tema este. sorry por no buscar bien :P
MaTaXeToS
Mensajes: 22
Registrado: 02 Dic 2009, 09:36

Re: MYsql sin instalar nada?

Mensaje 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
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2085
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: MYsql sin instalar nada?

Mensaje 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:)
MaTaXeToS
Mensajes: 22
Registrado: 02 Dic 2009, 09:36

Re: MYsql sin instalar nada?

Mensaje 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.
MaTaXeToS
Mensajes: 22
Registrado: 02 Dic 2009, 09:36

Re: MYsql sin instalar nada?

Mensaje 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
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2085
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: MYsql sin instalar nada?

Mensaje 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:)
Responder