COleVariant en String

COleVariant en String - C++ - Programmation

Marsh Posté le 10-07-2002 à 19:20:08    

Salut,  
comment convertir un COleVariant en String ds VC++ ??
Merci


---------------
mOOt the RobomixOR, c'est comme un robot-mixeur mais en OR // Modificateur de HUD pour CS:S
Reply

Marsh Posté le 10-07-2002 à 19:20:08   

Reply

Marsh Posté le 10-07-2002 à 19:42:16    

moot a écrit a écrit :

Salut,  
comment convertir un COleVariant en String ds VC++ ??
Merci




COlevariant ole;
CString str=ole.bstrVal;
 
je crois...

Reply

Marsh Posté le 10-07-2002 à 19:49:04    

OK merci ca ca marche.
Et en int....
 
merci encore


---------------
mOOt the RobomixOR, c'est comme un robot-mixeur mais en OR // Modificateur de HUD pour CS:S
Reply

Marsh Posté le 11-07-2002 à 20:18:00    

moot a écrit a écrit :

OK merci ca ca marche.
Et en int....
 
merci encore




 
je connais que ce moyen là :
 
int entier;
COleVariany ole;
CString str=ole.bstrVal;
sscanf(str,"%d",&entier);

Reply

Marsh Posté le 12-07-2002 à 12:24:15    

moot a écrit a écrit :

OK merci ca ca marche.
Et en int....
 
merci encore




 
Il suffit de faire :
 

Code :
  1. COlevariant ole;
  2. int entier=ole.intVal;


Reply

Marsh Posté le 12-07-2002 à 23:15:24    

Merci, tout ca ca marche, mais maintenant, si un champ a le malheur d'etre vide, cela me renvoit une erreur (Type Mismatch) et impossible de trouver la solution pour le moment, alors si vous avez des idees
 
Voila le bout de code qui cloche :

Code :
  1. m_TblDef->GetFieldInfo(j, daoFieldinfo);
  2. CString sFieldName;
  3. sFieldName.Empty();
  4. sFieldName = daoFieldinfo.m_strName;
  5. daoFieldinfo.m_strDefaultValue="vide";
  6. valeur=m_Rst->GetFieldValue(j);
  7. valeur.ChangeType(VT_BSTR,NULL);
  8. if(daoFieldinfo.m_nType==10 && (sFieldName.Find("date" )!=-1 || sFieldName.Find("Date" )!=-1 || sFieldName.Find("DATE" )!=-1))
  9.    { 
  10. date = COleDateTime(valeur);     val = date.Format( "%A, %B %d, %Y" );
  11. fprintf(fo,val + " ;
  12.    }
  13. else
  14.    {
  15. val=valeur.intVal; //le pb est ici, et c la meme chose avec bstrVal
  16. fprintf(fo,val + " ; " );
  17.    }


voila, merci


---------------
mOOt the RobomixOR, c'est comme un robot-mixeur mais en OR // Modificateur de HUD pour CS:S
Reply

Marsh Posté le 12-07-2002 à 23:17:43    

Juste une petite precision :  
 

Code :
  1. COleVariant valeur;
  2. CString val;


a+


---------------
mOOt the RobomixOR, c'est comme un robot-mixeur mais en OR // Modificateur de HUD pour CS:S
Reply

Marsh Posté le 12-07-2002 à 23:33:44    

Bon le pb est un peu mieux identifie :
qd une clonne a un type numerique et qu'un des champs est vide
(meme pas chaine vide car c pas des string) et ben la ca crash.
Voila, aidez moiiii :heink:


---------------
mOOt the RobomixOR, c'est comme un robot-mixeur mais en OR // Modificateur de HUD pour CS:S
Reply

Marsh Posté le 13-07-2002 à 12:14:57    

Ben tu testes si le champ est NULL avant d'affecter :

Code :
  1. valeur.vt == VT_NULL


Reply

Marsh Posté le 13-07-2002 à 15:41:19    

Non, toujours le meme probleme.
Ya pas un truc comme en VB : On Error Goto... pour pouvoir
traiter cette erreur car c'est la seule qui ressort de l'analyse de toutes
mes tables.
 
Merci
 


---------------
mOOt the RobomixOR, c'est comme un robot-mixeur mais en OR // Modificateur de HUD pour CS:S
Reply

Marsh Posté le 13-07-2002 à 15:41:19   

Reply

Marsh Posté le 13-07-2002 à 15:49:45    

Vous emmerdez plus, c bon avec le valeur.vt==VT_NULL
 
Merci pour tout


---------------
mOOt the RobomixOR, c'est comme un robot-mixeur mais en OR // Modificateur de HUD pour CS:S
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed