BUenas tardes foro!
Os comento, he instalado el servidor de Mysql en mi maquina, he desempolvado los libros de bases de datos relacionales, he creado 2 tablas y he insertado tuplas (desde la consola del mysql). Ahora queda lo mejor, teneis un ejemplo que pueda analizar para conectar five con el servidor?
fw 2.5 (harbour y xharbour)
UN SALUDO y muchas gracias por todo
MySql + ayuda
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Mike
Como ya tienes instalado mysql, ahora debes instalar el MyOdbc que lo puedes bajar fácilmente de internet. Esto te permitirá acceder a las tablas mediante ADO.
Una vez instalado debes configurar el myodbc en: Panel de Control-> Herramientas administrativas -> Orígenes de Datos (ODBC), y en la pstaña DSN de usuario se agrega el nuevo tipo de conexión (MySql ODBC 3.51), ingresas los datos de nombre del servidor, usuario, pasword y base de datos. Si todo va bien obtendrás un "Succes, conection was made! "
Ahora tu aplicación debe poseer soporte para OLE, con xHarbour no tienes que hacer nada, porque tiene implementado por defecto, con Harbour debes añadir la librería HBOLE.lib.
El siguiente paso es crear tu aplicación. El siguiente código que lo he bajado de este mismo foro establece la conexion, se crea el objeto RecordSet, a éste puedes manipularlo desde tu aplicación haciendo uso de sus propiedades y métodos. Más información detallada de éstos lo puedes hallar en MSDN : http://msdn.microsoft.com/library/defau ... odbrec.asp. También lo puedes pasar a un array para visualizarlo con un browse:
#define adOpenForwardOnly 0
#define adOpenKeyset 1
#define adOpenDynamic 2
#define adOpenStatic 3
#define adLockReadOnly 1
#define adLockPessimistic 2
#define adLockOptimistic 3
#define adLockBatchOptimistic 4
#define adUseServer 2
#define adUseClient 3
cQuery:= "SELECT campo1,campo2,campo3 FROM mitabla"
cConnection := "DRIVER={MySQL ODBC 3.51 DRIVER};SERVER=localhost;DATABASE=tuDB;USER=usuario;PASSWORD=miclave"
oCon:=toleauto():new("adodb.connection")
oRS := TOleAuto():New("adodb.recordset")
oRs:CursorLocation = adUseClient
oRs:Open( cQuery , cConnection, adOpenKeyset, adLockOptimistic )
oRs:MoveFirst() // equivale a GO TOP
aDatos:={}
//paso los datos a un arreglo
WHILE !oRs:Eof()
aReg := {}
for nPos := 0 to oRs:Fields:Count() -1
AAdd(aReg,Value(oRs,nPos))
next
AAdd(aDatos,aReg)
oRs:MoveNext()
END
oRs:Close()
////////////////////////////////
Luego de pasado al arreglo lo puedes visualizar como tal
Puede ayudarte de mucho una excelente aplicación llamada TALLER, gentilmente cedida por Miguel Angel, que usa ADO para el acceso a datos.
http://chileforge.cl/frs/download.php/220/Taller.zip
No soy bueno explicando, pero espero te sirva de algo, y como dice Antonio, sigue buscando en el Foro y encontrarás más información
Un saludo
Marcelo Jingo
Como ya tienes instalado mysql, ahora debes instalar el MyOdbc que lo puedes bajar fácilmente de internet. Esto te permitirá acceder a las tablas mediante ADO.
Una vez instalado debes configurar el myodbc en: Panel de Control-> Herramientas administrativas -> Orígenes de Datos (ODBC), y en la pstaña DSN de usuario se agrega el nuevo tipo de conexión (MySql ODBC 3.51), ingresas los datos de nombre del servidor, usuario, pasword y base de datos. Si todo va bien obtendrás un "Succes, conection was made! "
Ahora tu aplicación debe poseer soporte para OLE, con xHarbour no tienes que hacer nada, porque tiene implementado por defecto, con Harbour debes añadir la librería HBOLE.lib.
El siguiente paso es crear tu aplicación. El siguiente código que lo he bajado de este mismo foro establece la conexion, se crea el objeto RecordSet, a éste puedes manipularlo desde tu aplicación haciendo uso de sus propiedades y métodos. Más información detallada de éstos lo puedes hallar en MSDN : http://msdn.microsoft.com/library/defau ... odbrec.asp. También lo puedes pasar a un array para visualizarlo con un browse:
#define adOpenForwardOnly 0
#define adOpenKeyset 1
#define adOpenDynamic 2
#define adOpenStatic 3
#define adLockReadOnly 1
#define adLockPessimistic 2
#define adLockOptimistic 3
#define adLockBatchOptimistic 4
#define adUseServer 2
#define adUseClient 3
cQuery:= "SELECT campo1,campo2,campo3 FROM mitabla"
cConnection := "DRIVER={MySQL ODBC 3.51 DRIVER};SERVER=localhost;DATABASE=tuDB;USER=usuario;PASSWORD=miclave"
oCon:=toleauto():new("adodb.connection")
oRS := TOleAuto():New("adodb.recordset")
oRs:CursorLocation = adUseClient
oRs:Open( cQuery , cConnection, adOpenKeyset, adLockOptimistic )
oRs:MoveFirst() // equivale a GO TOP
aDatos:={}
//paso los datos a un arreglo
WHILE !oRs:Eof()
aReg := {}
for nPos := 0 to oRs:Fields:Count() -1
AAdd(aReg,Value(oRs,nPos))
next
AAdd(aDatos,aReg)
oRs:MoveNext()
END
oRs:Close()
////////////////////////////////
Luego de pasado al arreglo lo puedes visualizar como tal
Puede ayudarte de mucho una excelente aplicación llamada TALLER, gentilmente cedida por Miguel Angel, que usa ADO para el acceso a datos.
http://chileforge.cl/frs/download.php/220/Taller.zip
No soy bueno explicando, pero espero te sirva de algo, y como dice Antonio, sigue buscando en el Foro y encontrarás más información
Un saludo
Marcelo Jingo
-
- Posts: 287
- Joined: Fri Apr 14, 2006 5:52 pm
- Location: Córdoba (España)
Muchas gracias Marcelo y Antonio:
Ya se que vienen cosas de mysql en el foro, pero por ejemplo, no he llegado a ver lo que me comentas de myodbc, porque ahí, precisamente fue donde me quede cuando ya tenía todo hecho, y era que me metía en herramientas administrativas >> orígenes de datos (odbc) y al agregar uno nuevo, no encontraba el driver de mysql.
Ahora que ya creo que puedo empezar a hacer algo, seguiré mirando en el foro.
MUCHAS GRACIAS y SALUDOS.
Ya se que vienen cosas de mysql en el foro, pero por ejemplo, no he llegado a ver lo que me comentas de myodbc, porque ahí, precisamente fue donde me quede cuando ya tenía todo hecho, y era que me metía en herramientas administrativas >> orígenes de datos (odbc) y al agregar uno nuevo, no encontraba el driver de mysql.
Ahora que ya creo que puedo empezar a hacer algo, seguiré mirando en el foro.
MUCHAS GRACIAS y SALUDOS.
- goosfancito
- Posts: 1392
- Joined: Fri Oct 07, 2005 7:08 pm
Esa dire funciona? porque no llegan los mensajes a manu.Baxajaun wrote:Mike,
también puedes usar Eagle1 de mi amigo Manu Expósito. Te puedes poner en contacto con él en manuexposito arroba terra.es
Eagle1 es una libreria (jerarquía de clases) para atacar directamente a MySQL.
Saludos.
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
- goosfancito
- Posts: 1392
- Joined: Fri Oct 07, 2005 7:08 pm
Baxajaun wrote:Sí, si que funciona.
Saludos.
lo separe. pero puse todo junto y cambie @This is an automatically generated Delivery Status Notification
Delivery to the following recipient failed permanently:
manuexposito arroba terra.com
Technical details of permanent failure:
PERM_FAILURE: SMTP Error (state 9): 550 User unknown
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar