我的程序中,Crecordset派生的类tbl_log连接数据库后,可以加、删但就是只能修改表中第一条记录?
我用vc,mysql,myodbc连接的数据库
程序是这样:Crecordset派生的类tbl_log的实例  
  先选中一条记录
  edit()
  设置要修改字段值
  update()
可是只能修改表中第一条记录,明明选中了
对的记录,修改过程也没任何错。
怪!

解决方案 »

  1.   

    没有看到你的代码,估计还是你sql语句的错误。
    where条件定位到第一条记录上去了,或者有 limit 条件等。
      

  2.   

    这是我的那部分代码,各位兄弟帮我看看!
    Ctbl_log logrs(&m_DBConn);
    logrs.m_strFilter.Format("username = '%s' AND access_accept ='Y' \
    AND acct_start = 'Y' AND acct_end = 'N' \
    AND acct_session_id ='%s'\
    ", m_UserName, m_AcctSessionId);
    try{
    rtn =logrs.Open();
    }catch( CDBException *dbe )
    {
    AfxMessageBox( dbe->m_strError,MB_ICONEXCLAMATION );
    dbe->Delete();
    TRACE("==>3 Not logrs.open()");
    return FALSE;
    }
    if(rtn == FALSE) return FALSE;
    if(logrs.IsEOF())
    {
    TRACE("==>3 logrs.IsBOF");
    logrs.Close();
    return FALSE;
    }
    logrs.Edit();
    :::::::::::://字段设置的代码,略了
    ::::::::::::
    try{
    rtn =logrs.Update();
    }catch( CDBException *dbe )//Li Gang 06.3.28, add '*' before variable
    {
    AfxMessageBox( dbe->m_strError, MB_ICONEXCLAMATION );
    dbe->Delete();
    TRACE("==>3 Not logrs.Update()");
    return FALSE;
    }
    logrs.Requery();
    logrs.Close();