tianxiezhi
2015-08-11 15:48
采纳率: 97.1%
浏览 2.0k
已采纳

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

相关推荐 更多相似问题