nombre de lignes d'une table de ma BD
	
	
		salut tout le monde, voilà j'ai fait un petit bout de code dans mon APIwin32 (VisualC++ et j'utilise ADO pour la gestion de la BD) me permettant normalement de récupérer le nombre de lignes d'une table Cycles, et mettant ce nombre dans une boite de dialogue IDC_EDITCOUNT. Le problème est que cela ne marche pas et je ne vois pas pourquoi!!
En fait ce que je trouve dans ma boîte de dialogue, c'est : "SELECT COUNT(*) FROM Cycles". Si vous pouviez me dire ce qui ne va pas, ca m'aiderait bcp.
merci
	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
   |  
wsprintf(szBuffer, "SELECT COUNT(*) FROM Cycles");
_variant_t Count;
_bstr_t bstc;
try 
{
                if(pRs->State != adStateClosed)
	pRs->Close();
	pRs->Open(szBuffer, _variant_t((IDispatch *) pConn, true), adOpenDynamic, adLockReadOnly, adCmdText);
}
catch(_com_error &e) 
{
	MessageBox(hwndDlg, e.Description(), "Erreur ExecuteRequete.", MB_ICONEXCLAMATION);
	return FALSE;
}
if(pRs->EndOfFile)
	return TRUE;
Count = pRs->GetFields()->GetCount(); 
Count = bstc;
if(Count.vt != VT_NULL) 
{
	Count = bstc;
	lstrcpy(szBuffer, bstc);
	SetWindowText(GetDlgItem(hwndDlg, IDC_EDITCOUNT), szBuffer);
} | 
 
	 
	
	
	
		Re: nombre de lignes d'une table de ma BD
	
	
		
	Citation:
	
		
		
			
				Envoyé par manikou
				
			
			...
	Code:
	
1 2
   | 	...
Count = pRs->GetFields()->GetCount();  | 
  
			
		
	 
 GetFields()->GetCount() te sert à récupérer le nombre de colonnes de ta requetes et pas le nombre de lignes. 
Moi je ferai "SELECT COUNT(*) FROM Cycles AS NbrLignes", et ensuite je récupèrerai la valeur du champ, "NbrLignes" 
	Code:
	
Count = pRs->Fields->GetItem(_bstr_t("]NbrLignes"))->Value;
 
	 
	
	
	
		Re: nombre de lignes d'une table de ma BD
	
	
		
	Citation:
	
		
		
			
				Envoyé par manikou
				
			
			...
	Code:
	
1 2 3 4 5 6 7 8
   |  
Count = bstc;
if(Count.vt != VT_NULL) 
{
	Count = bstc;
	lstrcpy(szBuffer, bstc);
	SetWindowText(GetDlgItem(hwndDlg, IDC_EDITCOUNT), szBuffer);
} | 
  
			
		
	 
 De plus ça me parait bizarre, moi je ferai plutot  ou directement 
	Code:
	
bstc = pRs->Fields->GetItem(_bstr_t("]NbrLignes"))->Value;