//查寻记录
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)必需加以确认。这样整个程序就大致完成。
逆@风@者
3.对程序的界面进行了美化,可以参考源程序。
特别说明:
在使用程序前请先使用控制面板中的ODBC配置工具注册ODBC数据源,选择Microsoft Access Driver,数据库选择源程序目录lhwy下的student数据库。程序中对应的代码看
ClhwySet.cpp如下程序行:
CString CLhwySet::GetDefaultConnect()
{ //注册说明
return _T("ODBC;DSN=not"); //在注册数据源库时,数据源名取not。当然也可换名,
} //但程序中的not也换成同样的名
CString CLhwySet::GetDefaultSQL()
{
return _T("[fen]"); //表名,选fen表
}
假如您从方便用户的角度考虑,可以采用在程序中动态创建数据源,请参考VC知识库中的这篇文章《用Visual
C 程序实现设置ODBC数据源 》
最后这个程序还可以有许多可以完善和增强功能的地方。例如可以做一个完善的学生成绩管理软件,增加统计功能,计算个人总成绩和平均成绩。再增加一个记录集辅助显示班级各科目的平均成绩、及格率、优秀率等。增强查寻功能(本程序只完成了据数学成绩查寻记录),可以据学号、姓名、科目查寻,也可以查寻及格、优秀的记录。增强排序功能,按各种情况排序。有兴趣的读者可以完善它。也可以变化一下用在工程项目中,我正在做的一个 本文章更多内容:<<上一页 - 1 - 2 - 3 - 下一页>> |