WEB开发网
开发学院软件开发VC 一个完善的ODBC数据库程序 阅读

一个完善的ODBC数据库程序

 2008-02-26 20:26:16 来源:WEB开发网   
核心提示:2.为了实现程序的基本功能,在视图上增加了五个按钮,一个完善的ODBC数据库程序(2),在视图实现文件中对按钮响应,五个函数如下://增加记录void CLhwyView::OnAdd(){// TODO: Add your control notification handler code hereCAddDialo

2.为了实现程序的基本功能,在视图上增加了五个按钮,在视图实现文件中对按钮响应。五个函数如下://增加记录
void CLhwyView::OnAdd()
{
  // TODO: Add your control notification handler code here
  
 CAddDialog dlg;
  if( dlg.DoModal()==IDOK)
   { 
    if(dlg.m_Xuehao==0)
    {
     AfxMessageBox("学号不可为零!");
    }
    else
    {
     m_pSet->AddNew();
     m_pSet->m_column1=dlg.m_Xuehao;
    m_pSet->m_column2=dlg.m_strName;
     m_pSet->m_column3=dlg.m_Maths;
     m_pSet->m_column4=dlg.m_English;
    m_pSet->Update();
     m_pSet->Requery();
     m_pSet->MoveLast();
    CString s;
   s.Format("%d",dlg.m_Xuehao);
   m_ListCtrl.InsertItem(0,s,0);
    m_ListCtrl.SetItemText(0,1,dlg.m_strName);
    s.Format("%d",dlg.m_Maths);
    m_ListCtrl.SetItemText(0,2,s);
    s.Format("%d",dlg.m_English);
    m_ListCtrl.SetItemText(0,3,s);
    }
  } 
    m_pSet->MoveFirst();
}
//删除记录
void CLhwyView::OnDelect()
{
  // TODO: Add your control notification handler code here
  CDeleteDialog dlg;
  if(dlg.DoModal()==IDOK)
  {
   if(dlg.m_Password!=1234)
   AfxMessageBox("你没有权限删除记录!请重输入密码:");
   else
    { 
     BOOL b=FALSE;
     m_pSet->MoveFirst();
     do
     {
     if(dlg.m_Xuehao!=m_pSet->m_column1)
     m_pSet->MoveNext();
     else
      { 
       m_ListCtrl.DeleteAllItems();
       b=TRUE;
       m_pSet->Delete();
          
       m_pSet->Requery();
       this->Show();
       m_pSet->MoveFirst();
       break;
      }
    }while(!m_pSet->IsEOF());
       
  if(b==FALSE)
  AfxMessageBox("没有此记录");
   }
  }
}
//查寻记录
void CLhwyView::OnFind()
{
  // TODO: Add your control notification handler code here
  BOOL k=FALSE;
  CFindDialog dlg;
  if(dlg.DoModal()==IDOK)
  {
   m_pSet->MoveFirst();
   m_ListCtrl.DeleteAllItems();
   do{
    if(dlg.m_Maths!=m_pSet->m_column3)
    m_pSet->MoveNext();
    else
      {
       k=TRUE;
       CString s;
       s.Format("%d",m_pSet->m_column1);
       m_ListCtrl.InsertItem(0,s);
       m_ListCtrl.SetItemText(0,1,m_pSet->m_column2);
       s.Format("%d",m_pSet->m_column3);
       m_ListCtrl.SetItemText(0,2,s);
       s.Format("%d",m_pSet->m_column3);
       m_ListCtrl.SetItemText(0,3,s); 
       m_pSet->MoveNext();
    }
  } while(!m_pSet->IsEOF());
    
  if(k==FALSE)
  AfxMessageBox("没有符和条件的记录");
  }
}
//修改记录
void CLhwyView::OnEdit()
{
  // TODO: Add your control notification handler code here
 CEditDialog dlg;
 if(dlg.DoModal()==IDOK)
  {
   if(dlg.m_Password!=1234)
   AfxMessageBox("你没有权限更改记录!请重输入密码:");
   else
     { 
      BOOL b=FALSE;
      m_pSet->MoveFirst();
      do
      {
       if(dlg.m_Xuehao!=m_pSet->m_column1)
       m_pSet->MoveNext();
       else
        {   
        m_ListCtrl.DeleteAllItems();
        m_pSet->Edit();
        b=TRUE;
        m_pSet->m_column1=dlg.m_Xuehao;
        m_pSet->m_column2=dlg.m_strName;
        m_pSet->m_column3=dlg.m_Maths;
        m_pSet->m_column4=dlg.m_English;
        m_pSet->Update();
          
        m_pSet->Requery();
        this->Show();
        m_pSet->MoveFirst();
        break;
        }
      }while(!m_pSet->IsEOF());
       if(b==FALSE)
       AfxMessageBox("没有此记录");
    }
  }
  
}
//取全部记录
void CLhwyView::OnAll()
{
  m_ListCtrl.DeleteAllItems();
  this->Show();
}
//排序记录
void CLhwyView::OnSort()
{
  m_ListCtrl.DeleteAllItems();
  m_pSet->m_strSort="[学号]";
  m_pSet->Requery();
  this->Show();
}
因为在查寻记录后,有时需要看所有记录。所以增加了一个onAll()函数用来显示所有记录。在修改记录和删除记录中设置密码(1234)必需加以确认。这样整个程序就大致完成。

Tags:一个 完善 ODBC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接