[MFC+ODBC] [Résolu]

Signaler
Messages postés
38
Date d'inscription
samedi 18 juin 2005
Statut
Membre
Dernière intervention
1 décembre 2007
-
Messages postés
38
Date d'inscription
samedi 18 juin 2005
Statut
Membre
Dernière intervention
1 décembre 2007
-
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

Messages postés
38
Date d'inscription
samedi 18 juin 2005
Statut
Membre
Dernière intervention
1 décembre 2007

Ca marche maintenant.

Merci pour ton aide
Messages postés
10
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
1 mai 2006

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+.
Messages postés
10
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
1 mai 2006

Resalut,
J'oubliais noublie pas le delete du 'new'.
delete m_pSet;
m_pSet = NULL;
by.
Messages postés
38
Date d'inscription
samedi 18 juin 2005
Statut
Membre
Dernière intervention
1 décembre 2007

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"
Messages postés
10
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
1 mai 2006

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.
Messages postés
38
Date d'inscription
samedi 18 juin 2005
Statut
Membre
Dernière intervention
1 décembre 2007

Ca marche maintenant.

Merci pour ton aide