begin process at 2012 05 29 03:55:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Base de données

 > 

Autre

 > 

INSERT dans une base de données access


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

INSERT dans une base de données access

mercredi 13 juin 2007 à 11:16:04 | INSERT dans une base de données access

hitle

Salut,

Je suis actuellement en train de réaliser une application intranet. Pour ce projet j'ai besoin de faire des INSERT dans une base de données de type Access.

Grâce à ce script trouvé sur ce même site j'ai réussi à établir une connexion et ensuite pouvoir lire les données présentes dans la base.

J'ai donc voulu modifier ce script pour ensuite effectuer un INSERT dans la base. Maleresement je n'ais pas réussi à effectuer cette tâche malgrès beaucoup de recherche et d'essais. Sans compter que l'on trouve peu d'aide sur internet en ce qui concerne ce point.

Voici le code que j'ai effectué :

// Connexion et execution de requete sur un base de donnees Microsoft Access
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <sql.h>
#include <sqlext.h>

#pragma comment(lib, "odbc32.lib")

int main(int argc, char *argv[])
{
    HENV hEnv;
    HDBC hDbc;
    RETCODE rc;

    int iOut;
    char strOut[256];
    char szDSN[256] = "driver={Microsoft Access Driver (*.mdb)};dbq=[formation_test3.mdb];";
    //char szSql[256] = "SELECT * FROM formation";
    char szSql[256] = "INSERT INTO formation VALUES('', 10, 'inti stage', 20, '12/06/2007', '', 'max dep', 30, 'libelle serv', 40, 'libelle niv7', 50, 'libelle depart', 60, 'libelle salle', '15:00:00', '12/06/2007')";
    //char szSql[256] = "UPDATE formation SET Numero_de_session='10' WHERE Code_stage='3115'";
    //char szSql[256] = "INSET INTO formation VALUES

    // 1 - Connexion a la BDD Access
    rc = SQLAllocEnv(&hEnv);
    rc = SQLAllocConnect(hEnv, &hDbc);
    rc = SQLDriverConnect(hDbc, NULL, (unsigned char*)szDSN, SQL_NTS, (unsigned char*)strOut, 255, (SQLSMALLINT*)&iOut, SQL_DRIVER_NOPROMPT);

    // 2 - Preparation de la requete
    HSTMT hStmt;
    rc = SQLAllocStmt(hDbc,&hStmt);
    rc = SQLPrepare(hStmt,(unsigned char*)szSql, SQL_NTS);
    if(rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) printf("NOK1\n");
    else printf("OK1\n");

    rc = SQLExecDirectA(hStmt,(unsigned char*)szSql,SQL_NTS);
    if(rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) printf("NOK2\n");
    else printf("OK2\n");

    // 5 - Liberations et fermeture de la connection a la BDD
    rc = SQLFreeStmt(hStmt, SQL_DROP);
    rc = SQLDisconnect(hDbc);
    rc = SQLFreeEnv(hEnv);

    printf("\nfin\n");
    getch();

    return 0;
}

Merci par avance pour vos réponses car là je désespère !

mercredi 13 juin 2007 à 11:51:05 | Re : INSERT dans une base de données access

Loki6

Membre Club
salut,

as tu essayé d'utiliser la fonction INSERT dans une base de données plus simple et courte, pour vérifier que c'est possible, sans notamment heure ni date car c'est source d'erreurs lorsque la syntaxe n'est pas parfaitement respectée.

par exemple une table toto avec juste deux champs, un integer et un varchar

Loki
mercredi 13 juin 2007 à 12:35:51 | Re : INSERT dans une base de données access

BruNews

Administrateur CodeS-SourceS
La voix du bon sens ce que dit Loki6, on teste en plusieurs étapes des procédures simple et ensuite seulement on peut y aller.

ciao...
BruNews, MVP VC++
mercredi 13 juin 2007 à 12:42:23 | Re : INSERT dans une base de données access

Loki6

Membre Club
merci pour ce compliment BruNews , par ce temps pourri ça réchauffe le coeur

Loki
mercredi 13 juin 2007 à 15:07:08 | Re : INSERT dans une base de données access

hitle

SAlut'

J'ai effectuer ce test et ca fonctionne à merveille. Le problème sur ma requette initiale ne provenée que d'une petite erreur de type :s

Merci



Cette discussion est classée dans : access, base, sql, char, rc


Répondre à ce message

Sujets en rapport avec ce message

lire un fichier sql pour mettre à jour une base access [ par sandrank ] bonjour,je débute en C et j'espère que quelqu'un va pouvoir m'aider :je dois mettre à jour une base de données access à partir d'un fichier sql de ce [clos] connexion Base de Donnée SQL et C++ [ par djaleladel ] Bonjour tout le monde; SVP, je voudrais un programme de connexion C++ Builder avec SQL. Merce d'avance. PB Récupération de nom de tables [ par PI08 ] Bonjour, Je dois réaliser une interface (MFC) afin d'afficher des informations sur une base de données. Malheureusement je n'arrive tout simplement pa Connexion de base de donnée access avec c++/cli [ par 972apprenti ] Bonjour, Je cherche le moyen d'inserer des donnée dans une table de base de donnée access avec c++, est ce que quelqu'un pourrai me donner le code,p Connexion à la base sql via adresse IP [ par rachtout ] Bonjour à tous,voilà pour mon projet j'ai deux applications :une sur PC et sur ce PC il y a la base de données sql server et l'autre application sur P PDA (wince 6.0)se connecte à une base de données sql server distante [ par rachtout ] Bonjour,j'aimerais savoir s'il est possible qu'un PDA peut il se connecter directement à une base de données distante sql server sans se passer par l connexion à une base de données ACCESS dans un pg DEV C++ [ par oldarra2003 ] Bonjour Je suis un débutant en programmation C++ et je ne sais vraiment pas comment procéder pour se connecter sur une base ACCESS dans un pg C++. Il Borland C++ Builder Standard base de données Access [ par albert232 ] Bonjour, J'ai une application VB5 de calcul qui utilise une base de données Access. Elle fonctionne très bien. Je m'initie au logiciel Borland C++ C++ : lire dans base de données access [ par iiiiiiiiiiiiiii ] bjr tt le monde, je suis débutant en programmation....qqn qui pourait m'aider pour acceder et lire dans base de données access  en langage C++ . merci


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales