我对数据库进行删除读取操作,首先我进行数据的读操作,把数据存入一个结构体变量数组中 COMZL comzl[200], 接着做删除操作, 删除完了以后我想从数据库里面读取数据,把数据的内容再存入这个结构体变量中,结构体名字是COMZL,定义的变量是 COMZL comzl[200],把从数据库的表里面提取的数据存放到结构体里面,其中表中一个字段对应结构体的一个元素,一条记录对应一个结构体对象,例如 comzl[1], 现在已经能够实现删除操作了,在删除响应后我再从数据库里面读取数据,问题出现了 居然把刚才删除的条记录也读取出来了,但是现在明明数据库中那条记录已经不存在了啊!(我打开数据库看的(我用的是access))不知道这个是什么原因引起的??请高手 赐教!删除和读取操作 我想数据库进行删除操作以后是不是要进行刷新什么的操作啊 ??
补充:我进行删除操作以后,关闭程序,从新运行,这个时候被删除的记录就读取不出来了!请部分代码如下:
void CMyDlg::OnInitDialog() //读取数据 )(成功读取)
{
readData()
} void CMyDlg::OnDelData()
{
m_pRecordset->Move(j,_variant_t((long)adBookFirst));//j是当前记录号
m_pRecordset->Delete(adAffectCurrent);//(删除数据成功,表中这条记录不见了)
m_pRecordset->MoveNext();
readData();//(奇怪为什么删除的数据还能读出来呢,???问题所在)
}
void CMyDlg::readData()
{
m_pRecordset->MoveFirst();
while(!m_pRecordset->adoEOF)//显示 数据库中存在的所有记录
{
vqyID= m_pRecordset->GetCollect("企业编号");
comzl[i].m_vqyID= (LPCTSTR)(_bstr_t)vqyID;
vdwName = m_pRecordset->GetCollect("企业名称");
comzl[i].m_vdwName= (LPCTSTR)(_bstr_t)vdwName;
}
=0;
}
补充:我进行删除操作以后,关闭程序,从新运行,这个时候被删除的记录就读取不出来了!请部分代码如下:
void CMyDlg::OnInitDialog() //读取数据 )(成功读取)
{
readData()
} void CMyDlg::OnDelData()
{
m_pRecordset->Move(j,_variant_t((long)adBookFirst));//j是当前记录号
m_pRecordset->Delete(adAffectCurrent);//(删除数据成功,表中这条记录不见了)
m_pRecordset->MoveNext();
readData();//(奇怪为什么删除的数据还能读出来呢,???问题所在)
}
void CMyDlg::readData()
{
m_pRecordset->MoveFirst();
while(!m_pRecordset->adoEOF)//显示 数据库中存在的所有记录
{
vqyID= m_pRecordset->GetCollect("企业编号");
comzl[i].m_vqyID= (LPCTSTR)(_bstr_t)vqyID;
vdwName = m_pRecordset->GetCollect("企业名称");
comzl[i].m_vdwName= (LPCTSTR)(_bstr_t)vdwName;
}
=0;
}
后面加一句:
m_pRecordset->Update();