[MFC+ODBC]

Résolu
cs_torNADoS Messages postés 38 Date d'inscription samedi 18 juin 2005 Statut Membre Dernière intervention 1 décembre 2007 - 25 avril 2006 à 14:20
cs_torNADoS Messages postés 38 Date d'inscription samedi 18 juin 2005 Statut Membre Dernière intervention 1 décembre 2007 - 1 mai 2006 à 16:13
Salut,

je voudaris executer une requete Sql pour rechercher un
enregistrement dans ma base selon deux attributs Le nom et le
Prenom.

le probleme c'est que je ne sais pas koi ecrire pour faire cette recherche.

En plus j'utilise ODBC dc tous ce qui a rapport avec les ADO ca na convient pas.



Merci pour votre Aide.

6 réponses

cs_torNADoS Messages postés 38 Date d'inscription samedi 18 juin 2005 Statut Membre Dernière intervention 1 décembre 2007
1 mai 2006 à 16:13
Ca marche maintenant.

Merci pour ton aide
3
Pitchikwow Messages postés 10 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 1 mai 2006
30 avril 2006 à 19:50
salut,
Si je comprend bien, tu souhaites filtrer ta base de donnée. En supposant que ce sont des clients.

char* nomARechercher = "Dupond";
char * prenomARechercher="Didier";

CClientsSet* m_pSet = new CClientsSet(NULL);
 m_pSet->m_strFilter.Format("[Nom] = '%s' AND [Prenom] = '%s';",nomARechercher, prenomARechercher);
m_pSet->Open()
if(!m_pSet->IsBOF())
 {
  m_nom     = m_pSet->m_Nom;
  m_prenom    = m_pSet->m_Prenom;
 }
m_pSet->Close();
Exemple sous visual C++, odbc.
a+.
0
Pitchikwow Messages postés 10 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 1 mai 2006
30 avril 2006 à 19:58
Resalut,
J'oubliais noublie pas le delete du 'new'.
delete m_pSet;
m_pSet = NULL;
by.
0
cs_torNADoS Messages postés 38 Date d'inscription samedi 18 juin 2005 Statut Membre Dernière intervention 1 décembre 2007
1 mai 2006 à 01:28
Salut,

je ne sais pas exactement où sa cale mais bon voila mon code :


void CFindView::OnCommit() 


{


CAllSet* m_pSet= new CAllSet(NULL);


m_pSet->m_strFilter.Format("[Nom]='%S' AND [Prenom]='%S';","Dupond","Amel");


m_pSet->Open();


    m_First=m_pSet->m_Nom;


    m_Family=m_pSet->m_Prenom;


MessageBox(m_pSet->m_Nom);


m_pSet->Close();


delete m_pSet;


m_pSet=NULL;


}




dans ma base j ai le deuxieme enregistrement dont le nom est "Dupond"
et le prenom est "Amel". Mais quand j'execute le MessageBox(...)
m'affiche une boite vide(pas de nom) alors qu'est ce que je dois faire.

En plus mon objectif est de lancer une requete SQL et lire son resultat. "je n'ai pas pu lancer une requete et acceder à son resultat"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pitchikwow Messages postés 10 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 1 mai 2006
1 mai 2006 à 13:55
Salut,
//dans "m_strFilter.Format" il faut un '%s' en minuscule
CAllSet* m_pSet= new CAllSet(NULL);
m_pSet->m_strFilter.Format("[Nom]='%s' AND [Prenom]='%s';","Dupond","Amel");
m_pSet->Open();
//De cette maniere il n'y a qu'une solution : if(!m_pSet->IsBOF())
//Sinon : while(!m_pSet->IsEOF()) plusieurs solution
if(!m_pSet->IsEOF())
{
    m_First=m_pSet->m_Nom;
    m_Family=m_pSet->m_Prenom;
   MessageBox(m_First);
}
m_pSet->Close();
delete m_pSet;
m_pSet=NULL;
}
Sinon ton code source est très bien. a+.
Si tu a besoin de quoi ce soit.
0
cs_torNADoS Messages postés 38 Date d'inscription samedi 18 juin 2005 Statut Membre Dernière intervention 1 décembre 2007
1 mai 2006 à 16:13
Ca marche maintenant.

Merci pour ton aide
0