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

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条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?