各位大侠,你们好
    小弟用vc6.0编写了一个聊天软件的登陆界面和聊天窗口,向实现c/s模式的聊天功能,不知道怎么用数据库来链接这两个独立的窗口,不知道应该怎么做?
    怎么实现像qq一样的在线好友的管理?

解决方案 »

  1.   

    在InitInstance
    方法中
    CLogginDlg dlg;
    if(IDCNACEL == dlg.DoModal())
    {
        return FALSE;//直接退出
    }在CLonginDlg的OnOk方法中
    static UINT times=0;    UpdateData();
        m_ID.TrimRight();
        m_ID.TrimLeft();
        
        m_Password.TrimLeft();
        m_Password.TrimRight();    if(m_ID.IsEmpty()||m_Password.IsEmpty())
        {
            MessageBox("帐号和密码请填写","提示");
            return;
        }
        CString sql;
        sql.Format("select PassWord from mypassword where UserID = '%s'",m_ID);    CADO m_ado;//自己封装的ADO操作数据库类
        _RecordsetPtr m_Recordset;
        _variant_t Varvalue;
        try
        {
            m_ado.ADOinit();
            m_Recordset = m_ado.OpenRecordset(sql);//打开记录集
            if(m_Recordset->adoEOF)//没有记录
            {
                MessageBox("用户名不存在!","提示");
                times++;
                OnErrLongin(times);//这里主要用于显示出错次数.CStatic控件
                if(times==3)
                {
                    ExitProcess(0);//直接退出
                }
                return;
            }
            Varvalue = m_Recordset->GetCollect((_variant_t)(long)(0));//得到值
        
            CString strResult;
            strResult = (char *)(_bstr_t)Varvalue;
            strResult.TrimLeft();
            strResult.TrimRight();
            if(strResult!=m_Password)//取出的密码跟输入的密码匹配, 不匹配
            {
                MessageBox("密码不正确!","提示");
                times++;
                OnErrLongin(times);
                if(times==3)
                {
                    ExitProcess(0);
                }
                return;
            }
        }
        catch(_com_error e)
        {
            MessageBox(e.Description());
        }
        CDialog::OnOK();
    楼主要尽量提高结贴率啊..