Accueil > Forum > > > > petite question sur _variant_t
petite question sur _variant_t
mardi 28 août 2007 à 18:26:07 |
petite question sur _variant_t

azamharir
|
salut j'ai executé une requete SELECT avec ADO dans VC6. je peux afficher le resultat grace à : _variant_t var; var = recordset->Fields->GetItem(L"ville")->GetValue();// ville c'est un attribut de ma table cout << static_cast<char *>(_bstr_t(var.bstrVal))<< endl; mais, ce que je veux c'est mettre le resultat dans un char*. comment faire? merci et à bientot
|
|
mardi 28 août 2007 à 18:37:39 |
Re : petite question sur _variant_t

juju12
|
Avec ta ligne static_cast<char *>(_bstr_t(var.bstrVal)) tu récupères un pointeur qu'il faut copier car la chaîne est constante (me semble).
char* pBStr=static_cast<char *>(_bstr_t(var.bstrVal)); char pText[255 ou autre chose...]; strcpy(lpText,pBstr);
utiliser wchar_t partout si Unicode.
|
|
mardi 28 août 2007 à 18:52:34 |
Re : petite question sur _variant_t

azamharir
|
salut merci juju12, mais si je fait un cout de pText ou meme de pBStr j'obtiens juste des symbols bizzards. j'avais essayé ça et c'est le meme probleme. quelqu'un peut me dire pourquoi l'affichage direct est correct alors que celui via une variable char * l'est moins?
|
|
mardi 28 août 2007 à 19:17:30 |
Re : petite question sur _variant_t

racpp
|
Réponse acceptée !
Salut, Tu peux utiliser la fonction API WideCharToMultiByte(). Elle permet de convertir proprement un BSTR en char*. Exemple: char buffer[200]; WideCharToMultiByte(0,0,var.bstrVal,-1,buffer,200,0,0);
|
|
mardi 28 août 2007 à 20:01:27 |
Re : petite question sur _variant_t

azamharir
|
salut merci racpp, ça marche nikel. si on peut le faire autrement, n'hésitez pas à le dire. salut et @++
|
|
mercredi 29 août 2007 à 09:27:21 |
Re : petite question sur _variant_t

milhandril
|
Réponse acceptée !
Pour un champ texte tu peux également récupérer l'information par un objet _bst_t.
_bstr_t bst; char* recup;
bst= recordset->Fields->GetItem(L"ville")->GetValue();
recup=bst;
Par contre en terme d'optimisation je ne sais pas ce que ca vaut.
|
|
mercredi 29 août 2007 à 18:05:16 |
Re : petite question sur _variant_t
|
mercredi 29 août 2007 à 20:02:58 |
Re : petite question sur _variant_t

racpp
|
Je pense qu'on n'a pas besoin de créer un nouvel objet _bstr_t car il existe déjà. C'est celui fourni dans le membre bstrVal du VARIANT. Il est donc préférable de récupérer juste son contenu afin de l'exploiter.
|
|
jeudi 30 août 2007 à 08:28:28 |
Re : petite question sur _variant_t

milhandril
|
Tout a fait d'accord avec toi. La déclaraction du nouvel objet je ne l'avais fait que dans un soucis de clarté. Après le fait d'avoir besoin ou non d'une variable temporaire dépend de chaque cas. Je me posais surtout la question par rapport à l'optimisation entre l'utilisation de l'opérateur surchargé dans mon exemple et l'utilisation de WideCharToMultiByte.
|
|
Cette discussion est classée dans : question, var, resultat, variant, ville
Répondre à ce message
Sujets en rapport avec ce message
une structure dans une VARIANT [ par Ayato ]
Bonjour J'ai un problème, j'aimerai passer une structure dans une variant, j'ai teste plusieurs solution (inspirer de différentes sources dispo sur l
Question sur le type "Variant" [ par oberown ]
J'utilise une api, où je recupere une collection d'objet de type Banane Pour récuperer l'objet il faut que j'utilise un *variant. Comment caster mon v
Ré-apprendre le C [ par Fred3sa ]
Bonjour à tous!Voila ca va faire un mois que j'ai quitté l'école (pas une école d'info) et je ne me souvient plus de rien (ou plus tot pas grand chose
Appeler une méthode d'un objet parent appelant? [ par antoine_1977 ]
Bonjour à tous,Ma question va peut-être paraitre idiotes à certains mais bon... si ils savent y répondre...J'ai une instance d'objet graphique (appelo
Changer l'Ip d'une carte reseau [ par LittleJC ]
Bonjour, j'aimerai avoir le code en C pour Visual C++ 6 qui permet de changer l'adresse ip de la carte réseau.Le code suivant permet de le faire en VB
Petite question [ par AMokers ]
Voila j'ai chercher partout sur ce site, et je ne trouve plus ou c'est que l'on peut peut modifier l'image que l'on vois dans les forums, sources dépo
user breakpoint called... [ par Clonk ]
Bonjour,bon, c'est une erreur spécifique à NT, mais on sait jamais, y a peut etre encore quelqu'un sous cet OS préhistorique comme moi!//J'utilise une
question VC6 [ par leprov ]
salut a tous. cest juste une petite question existencielle...jai lu a plusieurs endroits que VC6 est une merde avec les stl, mais alors une question m
Question a propos de 'delete' en C++... [ par akboy7015 ]
Serai t'il possible de detecter si un pointeur vers un objet quelconque instancié avec 'new' et déjà détruit avec 'delete' ou pas?je m'explique:pMonOb
question de débutant sur hwnd [ par leprov ]
salut a tous. bon une question toute bete.je voudrais a chacune de mes actions savoir si ma fenetre est ouverte, férmée, rétrécie,etc. alors la questi
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : WIN APIRE : WIN API par racpp
Cliquez pour lire la suite par racpp
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|