atl/com consomateur ole db, % char dans db

atl/com consomateur ole db, % char dans db - C++ - Programmation

Marsh Posté le 08-11-2005 à 09:26:22    

Bonjours à tout le monde,
 
Voilà, je peine un peu sur un problème à la c., alors je me demandais si par hasard, un de vous n'aurait pas rencontrer le même problème:
 
J'ai utilisé le ATL Object Wizard pour créer mon consommateur, disons que mon code ressemble à ceci:
 
class CUserSimpleAccessor:public CUser{
 BEGIN_COLUMN_MAP(CUserSimpleAccessor)
  COLUMN_ENTRY(1, m_USERID)
  COLUMN_ENTRY(2, m_USERINFO)
 END_COLUMN_MAP()
 
 void ClearRecord(){
  memset(this, 0, sizeof(*this));
 }
};
 
class CUserIDAccessor:public CUserSimpleAccessor{
 
 BEGIN_PARAM_MAP(CUserCatUserIDAccessor)
  COLUMN_ENTRY(1, m_USERID)
 END_PARAM_MAP()
 
 DEFINE_COMMAND(CUserCatUserIDAccessor, _T("SELECT USER_ID, USER_INFO FROM test_schema.User where USER_ID=?" ))
};
 
Si mon champs, user_info dans oracle à une longueur de 10 caractères pour un user spécifique et que dans ces 10 caractères il y a par exemple deux '%',  
alors strlen(m_USERINFO) est 8 ! J'ai perdu mes deux %. Je devine que quelque part, dans une des marcos cela foire mais je ne me sens pas trop à l'aise pour aller bidouiller dans les atldbcli.h, etc... pour faire du traçage.  
 
N'y a-t-il donc pas moyen de travailler avec des champs qui ont des char spéciaux avec ces consommateurs ? Dois-je utiliser d'autres classes, macros, ou y aurait-il une solution toute bête ?
 
Je vous remercie d'avance
Fred

Reply

Marsh Posté le 08-11-2005 à 09:26:22   

Reply

Marsh Posté le 08-11-2005 à 13:39:31    

laissez tomber, j'ai trouvé

Reply

Sujets relatifs:

Leave a Replay

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