关于ADO的一个问题。

programCat 2000-09-04 11:38:00
_RecordsetPtr pRs;
_variant_t v;
当我从v=pRs->GetCollet("name");中得到v时,如何将"name“字段的字符窜显示出来?

我用_bstr_t(v)作为字符窜显示时得到的是乱码,
用(char *)_bstr_t(v)显示时看到的只有一个字符。如:v={"Mike" VT_BSTR}时,显示的是'M'这一个字符。

到底什么出了问题地方。我的记录集肯定没有问题。

请问该如何对_variant_t进行转换来进行显示呢?
...全文
201 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
--茶-- 2000-09-06
  • 打赏
  • 举报
回复
_variant_t vValue;
CString sValue;

vValue=pRsMdb->GetCollect("名称");
if(vValue.vt=!=VT_NULL)
{
vValue.ChangeType(VT_BSTR);
sValue=vValue.bstrVal;
sValue.TrimLeft();
sValue.TrimRight();
}
sValue可以在任何地方显示
--茶-- 2000-09-06
  • 打赏
  • 举报
回复
_variant_t vValue;
CString sValue;

vValue=pRsMdb->GetCollect("名称");
if(vValue.vt!=VT_NULL)
{
vValue.ChangeType(VT_BSTR);
sValue=vValue.bstrVal;
sValue.TrimLeft();
sValue.TrimRight();
}
sValue可以在任何地方显示
ggggwwww 2000-09-06
  • 打赏
  • 举报
回复
上次给错了应是
v.ChangeType(VT_BSTR);
CString strMsg=v.bstr;
AfxMessageBox(strMsg);
bulehawk 2000-09-06
  • 打赏
  • 举报
回复
char * szTemp;
strcpy(szTemp,_bstr_t(v));
qiujoe 2000-09-06
  • 打赏
  • 举报
回复
gz
JGTM2000 2000-09-05
  • 打赏
  • 举报
回复
显示一个字符是因为该字符串(变体的实际内容)以Unicode形式存放,M\0i\0k\0e\0,所以只显示一位就结束了。
ggggwwww 2000-09-05
  • 打赏
  • 举报
回复
CString strMsg=v.ChangeType(VT_BSTR);
AfxMessageBox(strMsg);
maptrix 2000-09-05
  • 打赏
  • 举报
回复
我查了一下资料,宏V_BSTRT和V_BSTR,对_variant_t类型也支持!
V_BSTRT(&v);
V_BSTR(&v);
maptrix 2000-09-05
  • 打赏
  • 举报
回复
这就是ANSI和UNICODE的问题。因为在变量v重的字符串以UNICODE的格式存放着,所以用_bstr_t不能取出正确的字符串。

以前我在MFC中对COleVariant变量中的字符串的存取用如下的宏
CString strRet;
strRet = V_BSTRT(&var); //ANSI的字符串
strRet = V_BSTR(&var); //UNICODE的字符串

你试试用(char *)_bstr(v)看能不能显示正确的字符串。//只是推测
Tyro 2000-09-04
  • 打赏
  • 举报
回复
CString str = pRs->GetCollet("name").pbVal

16,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧