工控编程吧
标题:
253上位机VC MFC使用ODBC添加删除修改移动数据记录
[打印本页]
作者:
qq263946146
时间:
2016-4-20 20:09
标题:
253上位机VC MFC使用ODBC添加删除修改移动数据记录
(, 下载次数: 1)
上传
点击文件名下载附件
253上位机VC MFC使用ODBC添加删除修改移动数据记录
功能展示
数据库程序中总少不了对记录的移动添加删除修改等常用操作,当前例程实现了在基于ODBC的对数据进行添加,删除修改的功能,还有前移后移,移到第一条和最后一条记录数据的功能,效果如图,点击添加,编辑框准备些数据再点添加,可添加记录,点击修改记录,可修改当前记录内容
要点提示
函数IsBOF()和IsEOF()是Crecordset类的成员函数,分别用于判断数据库是否为空和是否溢出
实现功能
1.按照前面例程或当前视频中的方法,用根目录的Student.mdb创建数据源;
2.新建一个应用前面数据源的基于单文档的应用程序,具体过程可参考视频学习;
3.给VIEW类添加一新变量BOOLm_Add;//标识是否在添加新记录 ,并初始化m_Add=FALSE;
4.按程序界面,添加三编辑框,ID分别为IDC_ID,IDC_NAME,IDC_GRADYEAR,分别关联SET类中的三个变量 m_ID; m_Name; m_GradYear;
再分别添加按钮<添加(点再次保存)><删除记录><修改记录><第一条记录><下一条记录><上一条记录><最后一条记录>,关联函数
void CGkbc8View::OnRecordFirst() //移到头部
{
if(m_pSet->IsBOF())//判断是否为空
m_pSet->SetFieldNull(NULL);
else
m_pSet->MoveFirst();
UpdateData(FALSE);//更新对话框窗口
}
void CGkbc8View::OnRecordNext() //后移
{
if(m_pSet->IsBOF())
m_pSet->SetFieldNull(NULL);
if(m_pSet->IsEOF())//判断是否溢出
AfxMessageBox("已经到达最后记录");
else
m_pSet->MoveNext();
UpdateData(FALSE);
}
复制代码
void CGkbc8View::OnRecordPre() //前移
{
if(m_pSet->IsBOF())
AfxMessageBox("已经到达第一个记录");
m_pSet->MovePrev();
UpdateData(FALSE);
}
void CGkbc8View::OnRecordLast() //移到尾部
{
m_pSet->MoveLast();
UpdateData(FALSE);
}
void CGkbc8View::OnRecdsetAdd() //添加记录
{
if(m_Add)
{
OnMove(ID_RECORD_FIRST);
}
m_pSet->AddNew();
m_Add=TRUE;//点一次准备记录,再点保存此记录
UpdateData(FALSE);
}
void CGkbc8View::OnRecordDelete() //删除记录
{
m_pSet->Delete();
if(m_pSet->CanUpdate())
{
m_pSet->Update();
}
m_pSet->MoveNext();
if(m_pSet->IsEOF())
{
m_pSet->MoveLast();
}
复制代码
if(m_pSet->IsBOF())
{
m_pSet->SetFieldNull(NULL);
}
UpdateData(FALSE);
}
void CGkbc8View::OnRecordEdit() //修改记录
{
m_pSet->Edit();
m_pSet->m_GradYear=79;//修改数据库数据
if(m_pSet->CanUpdate())
{
m_pSet->Update();
}
}
5.添加虚函数OnMove
BOOL CGkbc8View::OnMove(UINT nIDMoveCommand)
{
if(m_Add)//判断是否在添加记录
{
if(!UpdateData())
{
return FALSE;
}
if(m_pSet->CanUpdate())
{
m_pSet->Update();
}
m_pSet->Requery();
UpdateData(FALSE);
m_Add=FALSE;
return TRUE;
}
return CRecordView::OnMove(nIDMoveCommand);
}
复制代码
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/606eaf94b023f768d922984c21eb3c73/0/0/w_19rt52u6it.swf-albumId=5731640809-tvId=5731640809-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4