新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论高级C/C++编程、代码重构(Refactoring)、极限编程(XP)、泛型编程等话题
    [返回] 计算机科学论坛计算机技术与应用『 C/C++编程思想 』 → 大家来帮帮忙啊,简单的用户登陆功能,实在没辙了 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 6034 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 大家来帮帮忙啊,简单的用户登陆功能,实在没辙了 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     fangel2000 帅哥哟,离线,有人找我吗?
      
      
      头衔:w3china第一水王
      等级:大四寒假(收到Microsoft的Offer啦)
      文章:283
      积分:1503
      门派:W3CHINA.ORG
      注册:2006/5/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给fangel2000发送一个短消息 把fangel2000加入好友 查看fangel2000的个人资料 搜索fangel2000在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看fangel2000的博客楼主
    发贴心情 大家来帮帮忙啊,简单的用户登陆功能,实在没辙了

    已知对话框类是CTestDlg
    我在CTestDlg::OnInitDialog()中加入下列代码:
               m_pConnection.CreateInstance(__uuidof(Connection));
     try
     {
      // 创建Connection对象
      m_pConnection.CreateInstance("ADODB.Connection");
      // 设置连接字符串,必须是BSTR型或者_bstr_t类型
      CString strConn;
            strConn = "Provider=SQLOLEDB; Server=FANG; Database=fangel; uid=sa; pwd="";";
         _variant_t varConn(strConn);
         _bstr_t strConnect(varConn);
      m_pConnection->Open(strConnect,"","",-1);
     }
     catch(_com_error e)
     {
      AfxMessageBox(e.Description());
     }

     
     m_pRecordset.CreateInstance(__uuidof(Recordset));
     try
     {
      m_pRecordset->Open("SELECT * FROM Users", m_pConnection.GetInterfacePtr(),
           adOpenDynamic, adLockOptimistic, adCmdText);
     }
     catch(_com_error *e)
     {
      AfxMessageBox(e->ErrorMessage());
     }

    主界面是填写用户名和登陆的两个编辑框,我在确定按钮上的代码如下:
    void CMy19Dlg::OnButton1()
    {
     // TODO: Add your control notification handler code here
     _variant_t var;
     CString strName,strPwd;
     try
     {
      if(!m_pRecordset->BOF)
       m_pRecordset->MoveFirst();
      else
      {
       AfxMessageBox("表内数据为空");
       return;
      }

      // 读入库中各字段并加入列表框中
      while(!m_pRecordset->adoEOF)
      {
       var = m_pRecordset->GetCollect("UserName");
       if(var.vt != VT_NULL)
        strName = (LPCSTR)_bstr_t(var);
       var = m_pRecordset->GetCollect("Pwd");
       if(var.vt != VT_NULL)
        strPwd = (LPCSTR)_bstr_t(var);

       if((m_username == strName) && (m_userpwd == strPwd))
       {
        AfxMessageBox("用户登陆成功!");
       }
       else
       {
        AfxMessageBox("Error!请重新输入!");
       }

       m_pRecordset->MoveNext();
      }

     }
     catch(_com_error *e)
     {
      AfxMessageBox(e->ErrorMessage());
     }     
    }
    大家能帮我看看代码错在什么地方么?我实在没辙了

    现在知道红色的部分有问题,它使一条一条的扫描数据库的。应该怎么样正确修改呢?


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/1/28 20:52:00
     
     卷积内核 帅哥哟,离线,有人找我吗?
      
      
      威望:8
      头衔:总统
      等级:博士二年级(版主)
      文章:3942
      积分:27590
      门派:XML.ORG.CN
      注册:2004/7/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给卷积内核发送一个短消息 把卷积内核加入好友 查看卷积内核的个人资料 搜索卷积内核在『 C/C++编程思想 』的所有贴子 访问卷积内核的主页 引用回复这个贴子 回复这个贴子 查看卷积内核的博客2
    发贴心情 
    数据库密码索引时不用一条条扫描吧,以用户名为索引直接调用就可以了。

    ----------------------------------------------
    事业是国家的,荣誉是单位的,成绩是领导的,工资是老婆的,财产是孩子的,错误是自己的。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/1/29 8:41:00
     
     fangel2000 帅哥哟,离线,有人找我吗?
      
      
      头衔:w3china第一水王
      等级:大四寒假(收到Microsoft的Offer啦)
      文章:283
      积分:1503
      门派:W3CHINA.ORG
      注册:2006/5/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给fangel2000发送一个短消息 把fangel2000加入好友 查看fangel2000的个人资料 搜索fangel2000在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看fangel2000的博客3
    发贴心情 
    呵呵,这个问题昨天晚上解决了,还是一条一条扫描的
    以用户名为索引怎么实现啊?刚学,还在探索中呢
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/1/29 9:27:00
     
     fangel2000 帅哥哟,离线,有人找我吗?
      
      
      头衔:w3china第一水王
      等级:大四寒假(收到Microsoft的Offer啦)
      文章:283
      积分:1503
      门派:W3CHINA.ORG
      注册:2006/5/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给fangel2000发送一个短消息 把fangel2000加入好友 查看fangel2000的个人资料 搜索fangel2000在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看fangel2000的博客4
    发贴心情 
    谁能告诉我以用户名为索引怎么实现啊?谢谢谢谢
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/1/29 9:37:00
     
     卷积内核 帅哥哟,离线,有人找我吗?
      
      
      威望:8
      头衔:总统
      等级:博士二年级(版主)
      文章:3942
      积分:27590
      门派:XML.ORG.CN
      注册:2004/7/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给卷积内核发送一个短消息 把卷积内核加入好友 查看卷积内核的个人资料 搜索卷积内核在『 C/C++编程思想 』的所有贴子 访问卷积内核的主页 引用回复这个贴子 回复这个贴子 查看卷积内核的博客5
    发贴心情 
    设计数据库的时候,把你要设的索引项设为索引就可以了啊,写程序过程中不用编码的。首先熟悉了数据库再写数据库程序会更容易的。

    ----------------------------------------------
    事业是国家的,荣誉是单位的,成绩是领导的,工资是老婆的,财产是孩子的,错误是自己的。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/1/29 16:33:00
     
     fangel2000 帅哥哟,离线,有人找我吗?
      
      
      头衔:w3china第一水王
      等级:大四寒假(收到Microsoft的Offer啦)
      文章:283
      积分:1503
      门派:W3CHINA.ORG
      注册:2006/5/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给fangel2000发送一个短消息 把fangel2000加入好友 查看fangel2000的个人资料 搜索fangel2000在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看fangel2000的博客6
    发贴心情 
    哦,懂了。呵呵
    有的东西都知道,就是运用的时候没有想到
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/1/29 18:39:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 C/C++编程思想 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/11/23 0:15:31

    本主题贴数6,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    67.017ms