最近忙了.四五天 的毕业设计,终于有点眉目了.已经可以在proe中添加菜单,并操作数据库,来进行用户的注册和登陆.

 

见下图所示,附上一些代码,以后将发布我的毕业设计的全程步骤(Pro/E二次开发的齿轮管理系统)



   以下是一小段的源代码:
登陆模块:
   //登陆验证
    //定义加解密模块
    CMyMd5 mymd5;
   
    CString Username,StrTemp,StrSql,Password,PasswordC;
    CString strFieldValue;

    COleVariant m_value;
    CDaoFieldInfo m_fieldinfo;
    UpdateData(TRUE);
    //获取用户名
    //加密用户名
    Username=m_txtUsername;
    //获取密码
    //加密密码
    Password=mymd5.GetMD5OfString(m_txtPassword,false);
   

    //打开记录集,并查找用户名
    StrSql.Format("select * from admin where username='%s'",Username);//sql语句
    m_pSet->Open(dbOpenDynaset,StrSql,0);//打开记录集,并查找用户名
        if(!m_pSet->IsEOF()){//判断用户名是否存在
            //读取密码
            m_pSet->GetFieldValue("password",m_value);//获取用户名的密码
            strFieldValue=(LPCSTR)m_value.bstrVal;//字符类型转换
            PasswordC=strFieldValue;
            if(Password.CompareNoCase(PasswordC) == 0){//判断密码是否一样
                adminStatus->LoginStatus=true;//设置为已经登陆
                AFX_MANAGE_STATE(AfxGetStaticModuleState());
                if(maindlg == NULL){
                    maindlg=new CMainMdlDlg();
                    maindlg->Create(IDD_DIALOG3);
                    maindlg->ShowWindow(SW_SHOW);
                }
                else{
                    delete maindlg;
                    maindlg=new CMainMdlDlg();
                    maindlg->Create(IDD_DIALOG3);
                    maindlg->ShowWindow(SW_SHOW);
                }
                UsrActivateCurrentWindow();
            }
            else{
                AfxMessageBox("密码错误!");
            }
        }
        else{
            AfxMessageBox("不存在此用户!");
           
        }
注册模块:
    //注册执行
    //定义加解密模块
    CMyMd5 mymd5;
   
    CString Username,Password,PasswordC,Answer,StrSql;
    CString strFieldValue;
    COleVariant m_value;
    CDaoFieldInfo m_fieldinfo;
    UpdateData(TRUE);
    //判断答案
    if(m_registerAnswer =="hzynhnh"){
        //获取用户名
        //加密用户名
        Username=m_registerUsername;
        //获取密码
        //加密密码
        Password=mymd5.GetMD5OfString(m_registerPassword,false);
        //获取再次输如密码
        //加密再次输入的密码
        PasswordC=mymd5.GetMD5OfString(m_registerPassword2,false);
        StrSql.Format("select * from admin where username='%s'",Username);//sql语句
        //AfxMessageBox(StrSql);
        if(m_pSet->IsOpen()){
            //AfxMessageBox("记录集已经打开");
            m_pSet->Close();
        }
        m_pSet->Open(dbOpenDynaset,StrSql,0);//打开记录集,并查找用户名

        if(!m_pSet->IsEOF()){//判断用户名是否被注册
            AfxMessageBox("此用户名已经注册!");
        }
        else{
            if(Password.CompareNoCase(PasswordC) == 0){//判断两次输入的密码是否一样
                StrSql.Format("insert into admin (username,password)values('%s','%s')",Username,Password);
                m_pDb.Execute(StrSql);
                adminStatus->LoginStatus=false;
                AfxMessageBox("用户注册完毕.");
                AFX_MANAGE_STATE(AfxGetStaticModuleState());
                if(logindlg == NULL){
                    logindlg=new CLoginMdlDlg();
                    logindlg->Create(IDD_DIALOG1);
                    logindlg->ShowWindow(SW_SHOW);
                }
                else{
                    delete logindlg;
                    logindlg=new CLoginMdlDlg();
                    logindlg->Create(IDD_DIALOG1);
                    logindlg->ShowWindow(SW_SHOW);
                }
                UsrActivateCurrentWindow();
            }
            else{
                AfxMessageBox("两次密码输入的不同,请从新输入.");
            }
        }
    }
    else{
        AfxMessageBox("答案错误");
    }

© 2008 - 2010, Zeroun's Blog -- 黄志勇的博客!. 版权所有.

作者:
该日志由 admin 于2008年04月30日发表在ProE/二次开发分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。 | +复制链接
转载请注明: 我的毕业设计–proe二次开发的齿轮关系系统
关键字: , ,
【上一篇】
【下一篇】

您可能感兴趣的文章:

发表评论

[请申请gravatar头像,木有头像的评论可能不会被回复|头像相关帮助]

插入图片