(LPTSTR)类型转化???

sjzzam 2006-10-09 04:36:30
各位好心人帮忙看一下,谢啦!

for(int j=0;j<=4;j++)
{
iItem.iItem=j;
iItem.iSubItem=0;
iItem.pszText=(LPTSTR)(_bstr_t)vID; //????不能正常现实,乱码
                     //是不是类型转换的问题??  调试通过了.

m_ListCtrl.InsertItem(&iItem);
m_ListCtrl.SetItemText(j,1,(LPTSTR)(_bstr_t)vUsername);  //以下这些都能正常现实
m_ListCtrl.SetItemText(j,2,(LPTSTR)(_bstr_t)vOld);    
m_ListCtrl.SetItemText(j,3,(LPTSTR)(_bstr_t)vBirthday);
}

vID,vUsername,vOld,vBirthday都是_variat_t类型;均是从数据库中取出的值;

...全文
138 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
尘雨 2006-10-09
  • 打赏
  • 举报
回复
vOld应该是年龄吧,数据库类型是数字类型吗,还是varchar,如果是数字类型,你这样做还是错的,为什么,比如你的年龄100,可能得到值为1,看似程序无错,但实际还是不对
如果数据类型是varchar可以这样用,但如果不是,就要小心了
sjzzam 2006-10-09
  • 打赏
  • 举报
回复
好了,谢谢!
可是为什么下面的那个vOld就不用这么麻烦?
尘雨 2006-10-09
  • 打赏
  • 举报
回复
_variant_t vt(999);
vt.ChangeType(VT_BSTR);
TRACE("%s",(LPCTSTR)(_bstr_t)vt.bstrVal);
尘雨 2006-10-09
  • 打赏
  • 举报
回复
_variant_t::ChangeType看看msdn,把数字型转换为字符串

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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