bonjour![]()
voila, j'ai un petit pb au niveau de la recuperation des valeurs contenues dans les champ d'une table de la base de données.
au fait, je recois un message d'erreur du type "valeur numerique hors limite" en plein milieur d'extraction en l'occurence a l'enregistrement n°8 (548) pour le champ suivant :
id_soc = 7 7 7 7 7 7 7 548 7
ou bien un autre message: "Debug Assertion Failed File: afxwin1.inl line: 22" pour un autre champ.
j'espere que qcq me proposera une solution a ce pb car je suis vraiment bloqué. merci d'avance
voici le code source :
[ATTENTION aux Balises de code ! Merci:FARSCAPE]
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 #include <afxdb.h> #include <iostream.h> void main() { CDatabase con; try { //connexion à la base de donnée if(con.OpenEx(_T( ""),CDatabase::openReadOnly)!=0) cout<<"connexion etablie"<<endl; } catch(CDBException *f) { AfxMessageBox("connexion dsn : "+f->m_strError); } CRecordset rs(&con); CString req = "select * from ma_table"; try { rs.Open(CRecordset::dynaset,req); //On récupère le nombre de champs de la requête int nb_champs = rs.GetODBCFieldCount(); //On alloue la memoire pour les champs champs = new CString [nb_champs]; while(!rs.IsEOF()) { //on récupère la valeur du champ i try { rs.GetFieldValue("id_pro",champs[0]); cout<<"val : "<<champs[0]<<endl; } catch(CDBException *mon) { AfxMessageBox("getvalue :"+mon->m_strError); exit(0); } //On passe à la ligne suivante rs.MoveNext(); } //on ferme la session de CRecordset rs.Close(); } catch(CDBException *e) { AfxMessageBox("connexion record :"+e->m_nRetCode); } //On ferme la session de CDatabase con.Close(); }
Partager