Pb avec CRecordset::GetFieldValue

cs_toko Messages postés 3 Date d'inscription mercredi 10 décembre 2003 Statut Membre Dernière intervention 29 mars 2004 - 24 mars 2004 à 09:16
cs_toko Messages postés 3 Date d'inscription mercredi 10 décembre 2003 Statut Membre Dernière intervention 29 mars 2004 - 29 mars 2004 à 17:21
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 :

#include
#include

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();
}

1 réponse

cs_toko Messages postés 3 Date d'inscription mercredi 10 décembre 2003 Statut Membre Dernière intervention 29 mars 2004
29 mars 2004 à 17:21
toko

je sais d'ou venait mon pb, en fait la methode GetFieldValue ne prend pas par defaut tout les types de champs d'une table sous oracle (le champ NUMBER par exemple).:)
0
Rejoignez-nous