求教--数据类型转换

smallsix 2003-10-20 10:41:04
我从记录集中读取一条记录,想把它付值给公有变量,却不行 不知道为什么

代码如下:
#include ...
CString qip;//定义公有变量
/////////////////////////////......

........
_variant_t vars1;
vars1=m_gzset.GetFieldValue(10);// 省略连接部分,前一部分没问题,可以跟踪到vars1已读到数据
CString str;
str.Format("'%s'",_bstr_t(vars1));
qip=str;

qip却得不到数据 我换了几种转换方法:
str=(CString)(LPCTSTR)_bstr_t(vars1);
str=(char*)_bstr_t(vars1);
都得不到数据 请大侠们指点! 谢谢
...全文
48 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallsix 2003-10-20
  • 打赏
  • 举报
回复
str中没有数据,我在其他文件头引用了extern CString qip;

我用一个edit将数据读入 m_ip.SetWindowText(_bstr_t(vars1));
然后再读取m_ip.GetWindowText(qip);

这样就解决了 为什么这样就可以呢 请帮我分析 谢谢
spwnihao 2003-10-20
  • 打赏
  • 举报
回复
单步跟踪一下,看看str中有没有数据
你定义公共变量的文件,和你付值的文件是一个吗?
不是的话,还得声明一个外部引用 extern CString qip;
smallsix 2003-10-20
  • 打赏
  • 举报
回复
哦 我忘说了 我要读取的都是IP地址 数据库中字段设置为char
spwnihao 2003-10-20
  • 打赏
  • 举报
回复
vars1=m_gzset.GetFieldValue(10);// 省略连接部分,前一部分没问题,可以跟踪到vars1已读
你取的字段是什么类型了,是字符型还是数字型?
如果是数字型
应该
str.Format("%d",varsl.lVal);
如果是字符型
???str=(char*)_bstr_t(vars1);//应该是对的

4,011

社区成员

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

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