我正在做一个数据库系统,在对一个表进行操作的时候,不能即时显示操作结果其中我删除记录代码如下:void CSongDlg::OnDel() 
{
    // TODO: Add your control notification handler code here
        int i=m_ListCtrl.GetSelectionMark();
    if(i==-1)
    {
        MessageBox("请选中一个记录");
    }
    else
    {
        int keyid=atoi(m_ListCtrl.GetItemText(i,0));
        m_Set.Open();        while(m_Set.m_SONG_ID!=keyid&&!m_Set.IsEOF())
            m_Set.MoveNext();
        if( !m_Set.IsEOF() )
        m_Set.Delete();
        
        m_Set.Requery();
        OnShow();
        m_Set.MoveFirst();
        m_Set.Close();
        }
    
}
我删除一条记录后,我要再点一下显示(这个消息函数是OnShow()),才能出现删除后的结果,请问,我该怎么解决?????

解决方案 »

  1.   

    "...
            m_Set.Requery();
            OnShow();
            m_Set.MoveFirst();
            m_Set.Close();
    ..."
    是否应为这样?...
            m_Set.Requery();
            m_Set.MoveFirst();
            m_Set.Close();
            OnShow();
    ...
    不知你要如何个显示法?
      

  2.   

    if( !m_Set.IsEOF() )
            m_Set.Delete();
    if(!m_Set.IsEOF())  //加上这两句就不要再点按扭才显示了
    m_Set->MoveNext();   //
      

  3.   

    re palmkey:不行啊,老兄~~~~还是不能