sRecord =  "读者编号:" + m_datagrid.GetItem(0) + "\n";
sRecord += "读者姓名:" + m_datagrid.GetItem(1) + "\n";
sRecord += "  图书号:" + m_datagrid.GetItem(2) + "\n";
sRecord += "  图书名:" + m_datagrid.GetItem(3) + "\n";
sRecord += "借出时间:" + m_datagrid.GetItem(4) + "\n";
sRecord += "归还时间:" + m_datagrid.GetItem(5) + "\n";
sRecord += "    备注:" + m_datagrid.GetItem(6) + "\n";
MessageBox(sRecord);
如果第5列的值为空,就弹不出窗口,查出是m_datagrid.GetItem(5)调用有问题,请问怎么判断值为空,m_datagrid.GetItem(5).IsEmpty()也没用,试过了,在线等

解决方案 »

  1.   

    返回空字符串是没问题
    m_datagrid.GetItem(5) 是对象没有了吧
      

  2.   

    就是第5列没数据,在SQL SERVER里面它的值是<NULL>,datatime类型的
      

  3.   

    if(m_datagrid.GetItem(4)==NULL || m_datagrid.GetItem(4)=="")
        sRecord += "借出时间:" "无" + "\n";
    else
        sRecord += "借出时间:" + m_datagrid.GetItem(4) + "\n";
    if(m_datagrid.GetItem(5)==NULL || m_datagrid.GetItem(5)=="")
        sRecord += "归还时间:" + "无" + "\n";
    else
        sRecord += "归还时间:" + m_datagrid.GetItem(5) + "\n";
    其实其它几条语句也应该这样判断
      

  4.   

    报错了:error C2110: cannot add two pointers
      

  5.   

    在sRecord += "借出时间:" "无" + "\n";
    地方
      

  6.   


    少个加号:
    sRecord += ("借出时间:"+ "无" + "\n");
    眼花了,下面的语句也要加上括号,不然可能结果出错,因为是用的是+=这么赋值的,编绎时有个先后问题,加括号是为了保证结果一定正确