工控编程吧
标题:
276上位机VC MFC使用DAO删除记录
[打印本页]
作者:
qq263946146
时间:
2016-5-7 23:05
标题:
276上位机VC MFC使用DAO删除记录
(, 下载次数: 3)
上传
点击文件名下载附件
276上位机VC MFC使用DAO删除记录
功能展示
在用DAO进行编写数据库程序时,删除数据信息也是很常用的功能,我们当前例程演示从数据库中删除记录功能,效果如图,首先点击<罗列出学生学号>会将数据表内学生学生全部罗列到列表框中,点击任意罗列出的学号会在右侧显示具体信息,点击删除可删除对应学号的数据记录;
要点提示
使用DAO技术删除数据库记录可以使用CDaoRecordset类的成员函数Delete (),函数用于删除当前打开的动态集类型表类型记录集中的当前记录,要注意的是删除后记录的字段被设为NULL,得用函数 Move ()Seek()等函数业移除删除的记录,实际应用中,先调用Delete删除当前记录,再调用Requery刷新记录集,并使用记录集指针回到第一条记录。
实现功能
1.新建基于单文档应用程序,在创建过程中选择基于DAO,数据库文件选择例程根目录数据库文件,表选择course,具体的创建操作过程可以参考视频演示;
2.根据例程界面添加五个编辑框,ID分别为IDC_ID, IDC_NAME ,IDC_AGE , IDC_COURSE, IDC_COMMENT并实现与记录集的数据交换,具体可参考视频演示
3.添加按钮控件<罗列出学生学号>及><删除>,关联按钮的点击函数
void CGkbc8View::OnBrowse()
{
CListBox *pListBox = (CListBox *)GetDlgItem(IDC_IDLIST);
pListBox->ResetContent();
if(!m_pSet->IsOpen())
m_pSet->Open();
m_pSet->MoveFirst();
CString str;
while(!m_pSet->IsEOF())
{
str.Format("%d",m_pSet->m_id);
pListBox->AddString(str);
m_pSet->MoveNext();
}
m_pSet->MoveFirst();
}
复制代码
void CGkbc8View::OnDelete()
{
if(!m_pSet->IsOpen())
m_pSet->Open();
m_pSet->MoveFirst();
CString sText;
GetDlgItemText(IDC_ID,sText);
long nID = atol(sText.GetBuffer(0));
while(!m_pSet->IsEOF())
{
if(m_pSet->m_id==nID)
{
m_pSet->Delete();
m_pSet->Requery();//重新获得记录集
//清空编辑框
SetDlgItemText(IDC_ID,"");
SetDlgItemText(IDC_NAME,"");
SetDlgItemText(IDC_AGE,"");
SetDlgItemText(IDC_COURSE,"");
SetDlgItemText(IDC_COMMENT,"");
OnBrowse();//重新刷新列表框数据
break;
}
m_pSet->MoveNext();
}
}
复制代码
4.最后是添加一列表框控件,用于罗列出数据库中的全部学生的学,列表控件ID为IDC_IDLIST
我们来演示下整个功能实现 过程
[iqiyi]http://player.video.qiyi.com/14f48250ca248db67378096c3e4cf300/0/0/w_19rsttilc1.swf-albumId=6397225709-tvId=6397225709-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4