作者:不分日夜的我 | 来源:互联网 | 2023-01-12 10:46
我在用odbc编程中,我遇到这样的情况,我的代码如下:
pSet.Edit();
pSet.m_Name=m_myname;
pSet.m_Num=m_num;
if(!pSet.Update())
MessageBox("Records can't be changed!");
我这里更新的都是在数据库里的数据。当我更新了m_myname和m_num时却老是抛出这样的错误“更新或删除操作未涉及任何数据行”,但当我在没有对m-myname和m-num进行更新的时候,它可以弹出对话框“Records can't...."。请问这是为什么?
14 个解决方案
我就单一个pSet.Open()打开了数据库,我在用pSet.AddNew()和pSet.Update()时却可以添加数据,很怪啊!请多多指教
if(m_bAdding)
{
pSet.AddNew();
pSet.m_DutyNum=m_dutynum;
pSet.m_DutyName=m_dutyname;
pSet.Update()
}
else
{
pSet.Edit();
pSet.m_DutyNum=m_dutynum ;
pSet.m_DutyName=m_dutyname;
if(!pSet.IsEOF())
{
if(!pSet.Update())
AfxMessageBox( "Record not changed;" );
}
}
if(!pSet.IsEOF())
{
pSet.Edit();
pSet.m_DutyNum=m_dutynum ;
pSet.m_DutyName=m_dutyname;
if(!pSet.Update())
AfxMessageBox( "Record not changed;" );
}
if(!pSet.IsEOF() && (!pSet.IsBOF() )
{
pSet.Edit();
pSet.m_DutyNum=m_dutynum ;
pSet.m_DutyName=m_dutyname;
if(!pSet.Update())
AfxMessageBox( "Record not changed;" );
}
small_well 的我试过,很不幸啊,也是 不行,我的记录确实是指向当前修改的记录,我可以打印当前记录的数据。
if(m_bAdding)
{
pSet.AddNew();
pSet.m_DutyNum=m_dutynum;
pSet.m_DutyName=m_dutyname;
pSet.Update()
}
else
{
pSet.Edit();
pSet.m_DutyNum=m_dutynum ;
pSet.m_DutyName=m_dutyname;
if(!pSet.IsEOF())
{
if(!pSet.Update())
AfxMessageBox( "Record not changed;" );
}
}