pb avec CRecordset::GetFieldValue
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 :
Code:
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();
} |
[ATTENTION aux Balises de code ! Merci:FARSCAPE]
pb avec CRecordset::GetFieldValue
une derniere chose, si dans mon objet CString je n'ai qu'un seul caractere,
pouquoi pour le champ DATE je recupere bien ces valeurs
DATE
-------------------------
13/04/2004_15:56:38
13/06/2002_18:20:31
05/02/2003_08:35:38
14/09/2004_09:43:49
25/07/2004_14:05:15
13/01/2004_19:12:28
???