PDA

Ver la Versión Completa : Mysql y dbExpress


inexperto
20-07-2004, 17:52:52
hola....
Yo conecto la BD mysql y delphi 7 con Zeos, se llevan bastante bien, mi duda
es la sgte, porque utilizar Zeos si delphi trae los componentes dbExpress para hacerlo (yo uso Zeos porque me lo recomendaron en este foro).
asi que en una tarde.....realize la conexion con dbExpress y al colocarle los parametros correspondientes al componente SqlConnection y al darle un true a la conexion me envio el sgte error:

Unable to load libmysql.dll

esta a la vista el problema...no esta la famosa dll asi que la busque en mi disco duro y ahi esta vivita y coleando.

mi duda es la sgte.... porque se recomienda zeos en vez de dbexpress (esa es mi impresion).
y mi problema es ......porque me da ese error si la dll esta en apartado de windows\system32,.... mysql\lib\debug,........ mysql\lib\opt
chau:confused:

ruina
20-07-2004, 18:53:59
te da el error porque la libreria libmysql.dll que viene con mysql es especifica de C, para enchufar mysql necesitas la dll especifica (que ya no me acuerdo de donde la bajé) que es de 228kb (y no de 244kb)

jachguate
20-07-2004, 19:05:42
te da el error porque la libreria libmysql.dll que viene con mysql es especifica de C

Que significa esto??

La idea de las DLL's es que pueden ser usadas desde cualquier lenguaje (que las soporte, como delphi) independientemente del lenguaje en el que estén hechas.

¿Podrias explicarte mejor?

Hasta luego.

;)

ruina
20-07-2004, 19:57:50
pues siento decirte que no puedo explicarme mejor, es algo que lei (ya no recuerdo donde) aunque me imagino que lo que querria decir es que es necesario una dll especifica para el dbexpress de delphi.si alguien encuentra el sitio web donde esta esa dll que lo diga ahora o calle para siempre (o la subo a un ftp)

moesis
21-07-2004, 01:26:36
Saludos,

A mi me pasó lo mismo con la famosa DLL cuando actualicé el Delphi 7 con el Patch del dbExpress después de eso no funciona o al menos no lo pude hacer funcionar, si pudieran aclarar cual es el problema y como solucionarlo lo agradecería.

Por otro lado, yo he usado Zeos y dbExpress y si te puedo decir una cosa, dbExpress es infinitamente más rápida que Zeos pero por el contrario no te permite hacer una navegación entre los datos (next, prev) no se puede hacer, solo puedes ir en una dirección y normalmente es hacia adelante, lo que te obliga a replantear determinados procedimientos de tu programa.

Espero haberte ayudado,

Morfo
21-07-2004, 03:46:25
La DLL si esta escrita en C, en Ensamblador o hasta en Visual Basic puede ser usada por cualquier lenguaje habilitado para ello.
Esto yo no lo lei sino que lo he hecho.

Cuando me sale ese error copio la libreria a mi carpeta del proyecto en delphi y fin del problema.

La DLL encuentra en el directorio Bin del directorio de Mysql en windows....

El tamaño de la libreria sólo indica distintas versiones de la misma.

guillotmarc
21-07-2004, 14:09:57
Hola.

pero por el contrario no te permite hacer una navegación entre los datos (next, prev) no se puede hacer, solo puedes ir en una dirección y normalmente es hacia adelante, lo que te obliga a replantear determinados procedimientos de tu programa.
Te has olvidado comentar también que el Dataset obtenido por dbExpress es de solo lectura, no se puede modificar.

Para poder modificar un Dataset u obtener un Dataset navegable (hacia adelante y hacia atrás, con lo que se puede conectar en grids) se conecta el componente dbExpress con un ClientDataset (mediante un DatasetProvider).

Saludos.

fredo
19-10-2005, 15:27:08
la dll que te falta biene con el mismo MySQL, (con la instalcion por defecto viene en c:\mysql\bin\libmysql.dll) esa es la ruta que debe tener el componente TSQLConection, la otra dll que necesitas debe acompañar a tu programa es la dbexpmysql.dll, si la acompaña tu programa no necesita de delphi para correr, ocea que independiente, por ultimo si utilizas TSimpledataset, entonces necesitas la midas.dll en tu carpeta system o system32, que varia segun la version del windows que tengas, yo la copio a las dos para no hacerme problemas.....

en cuanto a funcionalidad, me las arregle para hacer facil el uso de dbexpress, al punto que ya no utiliza ninguna otra herrmienta de conexion.... saludos. :D

pyanqn
01-11-2005, 17:18:30
Mira, tengo justamente el problema de conectarme con MySql, por el tema de que no puedo usar un DBGrid,y navegarlo (en ambos sentidos, e insertar, editar...) Bien vos decis que conectando el componente dbExpress con un clientDataSet por medio de un DataSetProvider...

Esto es así:

Uso un componente SQLConnection y lo configuro
Luego, Pongo un ClientDataSet y un DataSetProvider
y por ultimo como los conecto?

Despues de esto, pongo un DataSource y conecto mi DBGrid con este...

Gracias

fredo
12-05-2006, 15:26:48
Uso un componente SQLConnection y lo configuro
Luego, Pongo un ClientDataSet y un DataSetProvider
y por ultimo como los conecto?

1.-haces la conexion
2.-Arrojas un TSQLQuery o TSimpleDataset
3.-Colocas la propiedad de conexion correcta (SQLConnection:= DB o Connection:=DB)
si TSQLQuery
entonces:
4. TSQLQuery.sql.text:='Consulta'
5. Tirar un TDataSetProvider y lo enlasas Al TSQLQuery
6. Lansas el ClientDataSet y lo enlazas a l proveedor
7. Abres el TSQLQuery
8. activas el ClientDataSet para cargar los datos...
<FIN>
si no
4.TSimpleDataset.Dataset.CommandText:='Consulta'
5.Activar o Abrir......
<FIN>


Eso Saludos.
Mas Vale tarde que nunca...;)