Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
865 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  While(j != nbre_tot_colonnes)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

While(j != nbre_tot_colonnes)

n°1090262
romanikou
Posté le 20-05-2005 à 09:19:58  profilanswer
 

bonjour tout le monde,  
voilà, je fais une APIwin32 sous VisualC++ et je travaille avec ADO avec pRs qui pointe sur un RecordSet.  
Voilà je récupère les différents enregistrements d'une table de ma base de données que j'insère dans une listview.Pour tous les enregistrements de ma table je fais un "while(!pRs->EndOfFile)", et je voudrais faire de même pour toutes les colonnes (évitant ainsi d'éviter de répéter continuellement  
"if(var.vt != VT_NULL) {..........}" pour chaque SubItem.  
Donc je compte le nombre de colonnes et je fais une boucle "tant que j différent du nombre total de colonne" (ceci est en fait pour simplifier le code étant donné que j'ai plus de 30 colonnes), mais ca ne marche pas (abnormal program termination), je ne vois pas le problème!!  
(vous verrez également que je regroupe les colonnes par 2 étant donné que pour le 1er champ je dois faire un INSERTITEM puis les autres un SETITEM.  
j'espère avoir été assez clair.  
Déjà merci  
 
 

Code :
  1. _variant_t Count = pRs->GetFields()->GetCount();
  2. Count.ChangeType(VT_I4);
  3. short NbrField = Count.intVal;
  4. while(!pRs->EndOfFile)
  5. {
  6.     while(j != NbrField)
  7.     {
  8. ///////////////////////////////////////////////////////////////////////////////////////////
  9.         // On renseigne lvItem
  10.         lvItem.mask = LVIF_TEXT;
  11.         lvItem.iItem = i;
  12.         long NumCol = j;
  13.         _variant_t VarNumCol (NumCol, VT_I4 );
  14.         var = pRs->Fields->GetItem(VarNumCol )->Value;
  15.         bst = var;
  16.         if(var.vt != VT_NULL)
  17.         {
  18.             lstrcpy(szBuffer, bst);   
  19.             lvItem.iSubItem = j;
  20.             lvItem.pszText = szBuffer;
  21.             SendMessage(hList1, LVM_INSERTITEM, 0, (LPARAM)&lvItem);
  22.         }
  23.         long NumCol1 = j+1;
  24.         _variant_t VarNumCol1 (NumCol1, VT_I4 );
  25.         var = pRs->Fields->GetItem(VarNumCol1 )->Value;
  26.         bst = var;
  27.         if(var.vt != VT_NULL)
  28.         {
  29.             lstrcpy(szBuffer, bst);   
  30.             lvItem.iSubItem = j+1;
  31.             lvItem.pszText = szBuffer;
  32.             SendMessage(hList1, LVM_SETITEM, 0, (LPARAM)&lvItem);
  33.         }
  34.         j++;
  35.     }
  36.     i++;
  37.     pRs->MoveNext();
  38. }

mood
Publicité
Posté le 20-05-2005 à 09:19:58  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  While(j != nbre_tot_colonnes)

 

Sujets relatifs
[css] creer 2 colonnes (probleme tres simple)nbre de fichiers dans un répertoire
CSS : 4 colonnes, 2 tailles fixes, 2 redimensionnables dans une DIV.creer une fonction de concatenation de deux colonnes
comparaison de deux colonneslistbox a deux colonnes
whileBoucles while - newbie
Importation fichier texte en excel avec plus de 256 colonnespb while dans tableau - Débutant
Plus de sujets relatifs à : While(j != nbre_tot_colonnes)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR