void CAddUserDlg::OnOK() 
{
// TODO: Add extra validation here
UpdateData(TRUE);
    
    try{
// 用户名有效性操作
if(cId=="")
{
// 用户名为空
    if(m_user=="")
{
    MessageBox("请输入用户名!","信息提示");
    GetDlgItem(IDC_EDIT5)->SetFocus();
    return;
}
// 用户名是否存在
if(user.IsExistUser(m_user))
{
            MessageBox("该用户名已存在,请重新确定用户名!","信息提示");
m_user = "";
            m_pwd = "";
    m_pwdyes = "";
UpdateData(FALSE);
    GetDlgItem(IDC_EDIT5)->SetFocus();

    return;
}
if(m_pwd!="")
{
for(int i=0;i<m_pwd.GetLength();i++)
{
char ch;
ch = m_pwd.GetAt(i);
if((ch<='0')||(ch>='9'))
{
MessageBox("很抱歉,只能用数字作为密码,请重新输入!","信息提示");
m_pwd = "";
            m_pwdyes = "";
UpdateData(FALSE);
            GetDlgItem(IDC_PWD_EDIT)->SetFocus();
return;
}
}
}

// 密码一致性
    if(m_pwd!=m_pwdyes)
{
    MessageBox("请确认密码输入是否正确,请重新输入");
    m_pwd = "";
    m_pwdyes = "";
    UpdateData(FALSE);
    GetDlgItem(IDC_PWD_EDIT)->SetFocus();
    return;
}
}
}
    catch(_com_error &e)
{
MessageBox(e.Description());
cId = 1;
return;
}
// 给user赋值
    user.user_name = m_user;
user.user_key = m_pwd;
m_power.GetLBText(m_power.GetCurSel(),user.user_power); // 添加
if(cId == "")
{
user.SqlInsert();
MessageBox("用户名添加成功!","提示信息");
m_adodc.Refresh();
return;
}
else
{
user.SqlUpdate(m_user);
return;
}
CDialog::OnOK();
}

解决方案 »

  1.   

    头文件adduserdlg.h中constant相关的申明不合法 不能使用constant 换个名字 例如constA之类 不能和系统保留字同名后面所有的错误皆是由第一个错误引起的无法识别
      

  2.   

    可是我双击报错的地方adduserdlg.h(53) : error C2059: syntax error : 'constant',它指向的是adduserdlg.cpp中的virtual void OnOK();这是怎么回事?根本找不到constant相关的呀。
      

  3.   

    你是不是在cpp文件或者h文件定义过宏了 把define的东西移动到cpp文件试试看