本文主要写的是整体的代码,细节、功能的具体实现将在另一篇文中写到。
以下是代码实现的功能截图:
1.显示内容
2.添加内容
3.删除内容
4.修改内容
代码思想是,主要在 view.cpp 文件内实现具体功能 , 菜单、对话框类主要为跳转提供服务
//以下是头文件中的内容
//AccessBox.h (即单独为数据库创建的类)
#include <afxdb.h>//添加头文件
//其余头文件都没有再添加代码
//以下是.cpp文件中的内容
//1. DialogADD.cpp (单独为添加内容对话框创建的类)
#include "AccessBox.h"//加入头文件
void DialogADD::OnOK() //OK 键函数
{
// TODO: Add extra validation here
CString strenglish,strmath,strchinese;
DialogADD add; this->GetDlgItemText ( IDC_EDIT1, m_Strnumber );
this->GetDlgItemText ( IDC_EDIT2, m_Stringname );
this->GetDlgItemText ( IDC_EDIT3, strenglish );
this->GetDlgItemText ( IDC_EDIT4, strmath );
this->GetDlgItemText ( IDC_EDIT5, strchinese );
add.m_Intenglish = atoi (strenglish);
add.m_Intmath = atoi (strmath);
add.m_Intchinese = atoi (strchinese);
CDialog::OnOK();
} //2. DialogDE.cpp (单独为删除内容对话框创建的类)void DialogDE::OnOK()
{
// TODO: Add extra validation here
this->GetDlgItemText ( IDC_EDIT1, m_DEStrnumber );
CDialog::OnOK();
} //3. DialogEdit1.cpp (单独为第一个修改内容对话框创建的类)void DialogEdit1::OnOK()
{
// TODO: Add extra validation here
this->GetDlgItemText ( IDC_EDIT1, m_EditStrnumber );
CDialog::OnOK();
}
//4. DialogEDIT2.cpp (单独为第二个修改内容对话框创建的类)#include "DialogEdit1.h"void DialogEDIT2::OnOK()
{
// TODO: Add extra validation here
DialogEdit1 edd;
CString strenglish,strmath,strchinese;
DialogEDIT2 add;
if(edd.DoModal()==IDOK)
{
this->GetDlgItemText ( IDC_EDIT1, m_Strnumber );
this->GetDlgItemText ( IDC_EDIT2, m_Strname );
this->GetDlgItemText ( IDC_EDIT3, strenglish );
this->GetDlgItemText ( IDC_EDIT4, strmath );
this->GetDlgItemText ( IDC_EDIT5, strchinese );
add.m_Intenglish = atoi (strenglish);
add.m_Intmath = atoi (strmath);
add.m_Intchinese = atoi (strchinese);
}
CDialog::OnOK();
}
//5. MyMFCProjectView.cpp(视图类)#include "AccessBox.h"
#include "DialogADD.h"
#include "DialogDE.h"
#include "DialogEdit1.h"
#include "DialogEDIT2.h" void CMyMFCProjectView::OnEditShow()
{
// TODO: Add your command handler code here
AccessBox student;
CClientDC dc(this);
CString strTemp;
int y=50;
student.Open();
while(!(student.IsEOF()))
{
strTemp.Format("Number : %s,Name : %s,English : %d,Math : %d,Chinese : %d",
student.m_Number,student.m_Name,student.m_English,student.m_Math,student.m_Chinese);
dc.TextOut( 50,y,strTemp );
student.MoveNext();
y+=30;
} student.Close();
}void CMyMFCProjectView::OnEditAdd()
{
// TODO: Add your command handler code here AccessBox student;
DialogADD add;
student.Open();
if(add.DoModal()==IDOK)
{
student.AddNew();
student.m_Number = add.m_Strnumber;
student.m_Name = add.m_Stringname;
student.m_English = add.m_Intenglish;
student.m_Math = add.m_Intmath;
student.m_Chinese = add.m_Intchinese;
}
student.Update();
student.Close();
}
void CMyMFCProjectView::OnEditDe()
{
// TODO: Add your command handler code here DialogDE dee;
AccessBox student ;
student.m_strFilter=dee.m_DEStrnumber;
student.Open();
if(dee.DoModal()==IDOK)
{
student.Delete();
student.m_Number;
student.m_Name;
student.m_English;
student.m_Math;
student.m_Chinese;
}
student.Update();
student.Close();
}
void CMyMFCProjectView::OnEditEdit()
{
// TODO: Add your command handler code here
AccessBox student ;
DialogEdit1 edd1;
DialogEDIT2 add;
student.m_strFilter=edd1.m_EditStrnumber;
if(edd1.DoModal()==IDOK)
{
if(add.DoModal()==IDOK)
{
student.Open();
student.Edit();
student.m_Chinese=add.m_Intchinese;
student.m_English=add.m_Intenglish;
student.m_Math=add.m_Intmath ;
student.m_Name=add.m_Strname;
student.m_Number=add.m_Strnumber;
}
student.Update();
student.Close();
}
}