Bonjour,
Avant d'exposer mon probleme je situe un peu le contexte
Je suis actuellement en train de realiser un petit logiciel dans le cadre de mes études qui doit fonctionner sous Oracle et Access.
N'ayant pas la place d'installer Oracle chez moi j'ai decider d'utiliser tout d'abord Access pour travailler en local.
Une fois le gros du travail fait, j'ai recréé ma BDD sur le server oracle de mon ecole ( meme nom de table données etc ...), je configure mon DSN correctement et je lance le programme qui arrive a recuperer des valeurs mais refuse de les stockés ds mes consomateur ( fait a partir de la base access) .
Je decide de créer un nouveau consomateur ODBC a partir de mes tables Oracle pour voir la difference et là ... surprise ! Les données définies en tant qu'entier ds ma base Oracle ( de type integer) se retrouve etre des doubles dans le consomateur ODBC !
Le probleme est que je voudrais manipuler des entiers dans mon code C++ et non pas des double
J'ai essayé de changer mon type de integer vers long sous oracle mais ce type ne permet pas de définir ma donnée en clef primaire sous oracle.
Comment puis je faire pour que mes consomateurs ODBC voient bien mes données comme des entiers et non des doubles ?
Voici quelques lignes de code que j'ai utilisé pour mieux situer le probleme :
Mon script sql :
Et voici le code du consomateur ODBC créé a partir de cette table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE TABLE Personne ( Id_Personne integer, Nom_personne varchar2(50), Prenom_personne varchar2(50), Adresse_Rue varchar2(50), Adresse_CP varchar2 (50), Adresse_Ville varchar2(50)); ALTER TABLE Personne ADD CONSTRAINT PK_PERSONNE primary key(Id_Personne);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 class CPERSONNE : public CRecordset { public: CPERSONNE(CDatabase* pDatabase = NULL); DECLARE_DYNAMIC(CPERSONNE) double m_ID_PERSONNE; CString m_NOM_PERSONNE; CString m_PRENOM_PERSONNE; CString m_ADRESSE_RUE; CString m_ADRESSE_CP; CString m_ADRESSE_VILLE;
Voila j'espere que quelqu'un pourra m'aider
Partager