cs_michael62
Messages postés1Date d'inscriptionmardi 30 mai 2006StatutMembreDernière intervention12 juin 2006
-
12 juin 2006 à 11:19
sambalien
Messages postés3Date d'inscriptionlundi 11 mai 2009StatutMembreDernière intervention11 janvier 2010
-
14 mai 2009 à 18:12
Bonjour,
j'essaie d'acceder aux données d'une base access avec dev-c++ mais je n'y arrive pas :-(
quelqu'un aurrai t-il un exemple simple de code pour le faire.
pour info, il sagit d'une base access 2003 et de dev-c++ 4.9.9.2
sambalien
Messages postés3Date d'inscriptionlundi 11 mai 2009StatutMembreDernière intervention11 janvier 2010 14 mai 2009 à 18:12
tu dois d'abord creer une base de donnees access simple
ensuite il te faudra utiliser le ODBC(Open DatBase Connectivity) de windows, cet outil est deja sur ton ordinateur si tu utilises le winXp.
pour acceder a cet outil tu fais Start>Run>odbcad32>Enter maintenant tu choisiras l'onglet System DSN tu clic sur le bouton Add et tu choisis Driver Microsoft Access dans la liste deroulante et tu cliques sur Finish une boite de dialogue apparaitra pour que tu puisses indiquer ou se trouve ta base de donnees. (La bdd doit etre fermee lors de cette operation).
Apres tu essais ce code sources
int main()
{
SQLHENV environnement; // cette varible cree l'environnement qui sera le parent de notre connexion
if ( !SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_ENV, NULL, &environnement)) )
fprintf(stderr, "La fonciton SQLAllocHandle a echoue.\n");
else
{
if ( !SQL_SUCCEEDED(SQLSetEnvAttr(environnement, SQL_ATTR_ODBC_VERSION, (void *) SQL_OV_ODBC3, 0)) )
fprintf(stderr, "La fonction SQLSetEnvAttr a echoue.\n");
else {
SQLHDBC connexion;
if ( !SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_DBC, environnement, &connexion)) )
fprintf(stderr, "La fonction SQLAllocHandle a echoue (SQL_HANDLE_DBC).\n");
else {
SQLCHAR dsn[] = "pays_dsn", uid[] = "melem", pwd[] = "1234";
if ( !SQL_SUCCEEDED(SQLConnect(connexion, dsn,SQL_NTS, uid, SQL_NTS, pwd, SQL_NTS)) )
fprintf(stderr, "La fonction SQLConnect a echoue.\n");
else {
SQLHSTMT statement;
if( !SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_STMT, connexion, &statement)) )
fprintf(stderr, "La fonction SQLAllocHandle a echoue (SQL_HANDLE_STMT).\n");
else {
if ( !SQL_SUCCEEDED(SQL_ExecDirect(statement, "SELECT * FROM pays_tbl;", SQL_NTS)) )
fprintf(stderr, "La fonction SQL_ExecDirect a echoue.\n");
else {
SQLCHAR pays[15], capitale[15];
printf("PAYS > CAPITALE\n\n");