tianxiezhi 2015-08-11 15:48 采纳率: 50%
浏览 2035
已采纳

vs 2012 Cstring 出错的问题

大家好,请教下,我在编译如下代码时出现如下错误,寻求帮助,谢谢!

void CCteFormView::UpdateList(CCteSet &rs)
{

int i=0;
int nCount=0;

CString strID,strWorkHours,strTime;
// 清除列表框内容
m_ctrList.DeleteAllItems(); 
// 对数据表中所有记录进行处理
rs.Open(); 
while(!rs.IsEOF()) 
{
    CString strid;
    m_ctrList.InsertItem(i,""); 
    strid.Format("%d",rs.m_ID);
    m_ctrList.SetItemText(i, 0, strid);

    m_ctrList.SetItemText(i, 1, rs.m_data.Format("%Y-%m-%d"));
    m_ctrList.SetItemText(i, 2, rs.m_name);
    m_ctrList.SetItemText(i, 3, rs.m_luhao);
    m_ctrList.SetItemText(i, 4, rs.m_liaose);


    出错提示如下:
    1>  CteFormView.cpp

1>d:\myfile\visual studio 2012\projects\xuglassform\xuglassform\cteformview.cpp(100): error C2664: “CListCtrl::SetItemText”: 不能将参数 3 从“CStringW”转换为“LPCTSTR”
1> 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
1>d:\myfile\visual studio 2012\projects\xuglassform\xuglassform\cteformview.cpp(101): error C2664: “CListCtrl::SetItemText”: 不能将参数 3 从“CStringW”转换为“LPCTSTR”
1> 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
1>d:\myfile\visual studio 2012\projects\xuglassform\xuglassform\cteformview.cpp(102): error C2664: “CListCtrl::SetItemText”: 不能将参数 3 从“CStringW”转换为“LPCTSTR”
1> 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符

在选用odbc 数据库acces连接时出现这样的情况:是CStringW,而不是c++6.0中的CString

CStringW m_name;
CStringW m_luhao;
CStringW m_liaose;
CStringW m_biaoa;
CStringW m_zhijing;
CStringW m_gaodu;
CStringW m_piancha;
CStringW m_shizhi;

  • 写回答

5条回答 默认 最新

  • oyljerry 2015-08-11 15:53
    关注

    前面加一个(LPCTSTR)转换一下。类型转换

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用