PDA

Ver la versión completa : Bases de Datos en C++



ragnarokx2
01-12-2006, 05:44
Estoy tratando de programar accesos a bases de datos con C++, pero no se me ocurre como hacerlo. ¿Hay alguna librería que sirva para eso? ¿Cual? Gracias por gastarse en leer una pregunta tan sencilla, pero todavia soy medio nuevo en estas cosas.

Giskard
04-12-2006, 03:20
las librerías que debes utilizar varían dependiendo de que servidor de bases de datos estés utilizando.
Te recomiendo usar mySQL, es muy estable, seguro, y es freeware. la librería para manejar estas bases de datos es mysql. Este servidor tiene varias librerías para los compiladores de c++ con funciones sencillas de entender.

En el siguiente articulo podrás ver como programar aplicaciones MySQL con C
http://www.mysql-hispano.org/page.php?id=30

Si usas Visual C++ (este compilador me gusta). Este artículo te servirá:
http://www.mysql-hispano.org/page.php?id=32

Un saludo

|RooT|
19-01-2007, 10:30
También tienes otra alternativa que seria utilizar la libreria Sqlite. Un SGBD bastante bueno y compacto que puedes utilizarlo perfectamente desde C/C++.

Yo lo estoy utilizando en uno de mis proyectos y la verdad que va bastante bién para no tener que sobrecargar el sistema instalando un MySQL.

www.sqlite.org

El unico inconveniente es que no implementa todas las caracteristicas de SQL92 como por ejemplo las FOREIGN *** o los RIGHT OUTER JOIN.

Pero siempre se puede arreglar de otra forma :P

Saludos.

ragnarokx2
22-01-2007, 21:51
Gracias a los dos. ¿Me podrian decir donde puedo encontrar un tutorial para cualquiera? Con el MySQL estoy teniendo muchos problemas, no se por qué me tira errores de todos lados y me dice que las classes no estan definidas. El SQLite todavia no lo probe, pero en cuanto pueda comento como me fue.

gondar_f
25-01-2007, 13:00
En que entorno y SO estas programando, porque si por ejemplo estás utilizando el Visual C++ puedes hacceder a bases de datos a traves de ODBC, Jet o ISAM con DAO, ADO, ... sin complicarte la vida... en C++Builder, bueno ahí ya no te digo nada, es sencillisimo, especialmente si son bases en DBASE o Paradox....

En Linux pues también hay entornos que te facilitam mucho la tarea, un ejemplo claro es KDevelop +QTDesing...

Y si es a las bravas, la idea de |RooT| es la mejor, el sqlite mejoro muchisimo en los últimos tiempos y ahora ya se utiliza en cosas serías, por ejemplo esta integrada en PHP5... es sencilla, pero también es muy sencillo andar con ella... si te descargas sus fuentes, te viene con ejemplos...

Un Saludo

ragnarokx2
04-02-2007, 23:07
Gracias de nuevo por la ayuda. Estoy trabajando on Bloodshed Dev C++ en WinXP y bases de datos de Microsoft Access. Igualmente al SQLite no lo termino de entender. Me baje los ejemplos pero el compilador me tira errores de referencias invalidas. Lo mismo con MySQL. Hice copia de la base de datos pero el compilador me da errores. ¿No será el Bloodshed el problema? ¿Conocen otro compilador que me sirva? Gracias otra vez de antemano

|RooT|
05-02-2007, 10:10
Supongo que te da errores es porque no tienes bien puestas las librerias donde corresponden. En el caso de Dev C++ tienes que indicarle con que libreria vas a linkar, en las propiedades del proyecto tienes una opcion para añadir las librerias, y si no en la linea de comandos añades -lnombrelib por ejemplo si la libreria se llama sqlite pues pones -lsqlite.
Eso si las librerias (que son las que acaban en .a o .lib dependiendo del compilador) deben de estar copiadas en \lib\ asi como los correspondientes headers (.h o .hpp) deben de estar en \include\.

Mira haber si lo tienes todo correcto, si no te sales con la tuya tienes otros IDE's/Compiladores como Visual C++ (Visual Studio), CodeBlocks, KDevelop (Si trabajas en linux),etc...

gondar_f
06-02-2007, 13:01
Muy bueno el post de |RooT|, aunque si sigues con lo ya estas, tienes que tener en cuenta un par de cosas.
La primera es como vas a acceder a los MDBs, y para ello tiene 2 opciones fundamenteales:
- COM y llegar a utilizar DAO. Muy jodido escribiendo directamente en C/C++.
- ODBC, mucho más sencillo, pero aun así tiene su intringulis, por suerte hay mucho código en la red que puedes usar.

Segundo, en caso de que utilices ODBC, recuerda que tienes que configurar ODBC para que te apunte al MDB que quieres usar.

Un Saludo

PD: yo haría caso a |Root| y me pasaría a un IDE que te diese parte del trabajo ya echo, como Visual C++, que ya te da acceso a DAO directamente, y te serira tanto si quieres usarlo como BD local, como DB ODBC (que puede ser local o estar en otra maquina)...

ragnarokx2
09-02-2007, 14:21
Gracias por el dato sobre las librerias |RooT|. Para asegurarme de que las librerias las incluí en los directorios de las "Compiler Options", pero igual no me sale nada. Estoy comenzando a pensar que el problema no es el compilador sino el programador :D Creo que les voy a hacer caso y pasarme a Visual C++. Si llego a tener algun problema les hago saber. Gracias de nuevo