_variant_t 问题

smallsix 2003-10-09 12:17:20
我已经打开记录集 并查询出一条记录 我想验证这条记录的第4项是否等于某值
该怎么做 我的部分代码如下:
sr.Format("select * from usertable where uid='%s' and upwd='%s'",lid,lpwd);
m_lset.Open(sr);
_variant_t vars;
CString
vars=m_lset.GetFieldValue(3);
suser="超级用户";
sa="管理员";
if((_bstr_t) vars==suser)
{
strin="1";
}
else if((_bstr_t) vars==sa)
{
strin="2";
}
else
{
strin="3";
}
我知道类型不匹配 该怎么转换?
...全文
26 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallsix 2003-10-09
  • 打赏
  • 举报
回复
啊 打错了 应该加上:CString suser,sa;
smallsix 2003-10-09
  • 打赏
  • 举报
回复
问题已经解决 谢谢大家
smallsix 2003-10-09
  • 打赏
  • 举报
回复
经过改动 代码如下:
_variant_t vars;
vars=m_lset.GetFieldValue(3);
str=(char*)_bstr_t(vars);
suser="超级用户";
sa="管理员";
if(str.CompareNoCase(suser)==0)
{
strin="1";
}
else if(str.CompareNoCase(sa)==0)
{
strin="2";
}
else
{
strin="3";
}

但是strin不论怎么都等于3 为什么??
xiaohyy 2003-10-09
  • 打赏
  • 举报
回复
if( (CString)(LPCTSTR)(_bstr_t(vars))==suser )
{
strin="1";
}
yinzhaohui 2003-10-09
  • 打赏
  • 举报
回复
_variant_t vPassWordDB;
CString strTemp;
strTemp = (char*)_bstr_t(vPassWordDB);
if(strTemp.CompareNoCase(suser)==0)
{

}
alon21 2003-10-09
  • 打赏
  • 举报
回复
_variant_t vPassWordDB;
CString strTemp;
strTemp = (char*)_bstr_t(vPassWordDB);
if(strTemp=strPassWord)
...

4,011

社区成员

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

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