帮忙看看是什么问题。
以下是一个宾馆管理系统添加房间标准的部分代码。
void CRoomTypeDLG::OnOK()
{
// TODO: Add extra validation here
UpdateData(true);
m_sTypeID.TrimRight(" ");
m_sTypeName.TrimRight(" ");
m_sArea.TrimRight(" ");
m_sBedNo.TrimRight(" ");
m_sPrice.TrimRight(" ");
// Make sure all needed info is available
CString sWarning="";
if ( ""==m_sTypeID ) sWarning=_T("标准编号");
else if ( ""==m_sTypeName ) sWarning=_T("标准名称");
else if ( ""==m_sArea ) sWarning=_T("面积");
else if ( ""==m_sBedNo ) sWarning=_T("床位数");
else if ( ""==m_sPrice ) sWarning=_T("价格");
if ( ""!=sWarning )
{
sWarning += _T("不能为空");
AfxMessageBox(sWarning, MB_ICONEXCLAMATION);
return;
}
……
……
……
运行后发现这样的问题:在窗口中输入各项信息后保存(执行CRoomTypeDLG::OnOK()函数)时,提示“标准编号不能为空”。
是什么原因造成的呢?程序好象不能识别我已经输入了信息。
请问Edit部件是怎样把输入的信息传递到变量中(m_sTypeID、m_sTypeName、sArea等中),是通过UpdateData(true)吗?UpdateData()的作用是什么?程序程序还有UpdateData(false)。我尝试查找UpdateData()原函数,但是找不到。有人知道个中原由吗?请赐教。