高手请帮忙:
CStudent m_student;
m_student.Open();
m_student.Edit();
while(!m_student.IsEOF() && m_student.m_id!=(long)m_borrowerid/*m_borrowerid为一个UINT型变量*/)
{
m_student.MoveNext();
}
if(m_student.IsEOF())
{}
else
{
m_student.m_numberborrow++;
m_student.Update();//此处弹出错误说:更新或删除的企图失败了
}
但是 如果所要找的记录正好是第一条记录时,就不会弹出错误,
困惑阿。
CStudent m_student;
m_student.Open();
m_student.Edit();
while(!m_student.IsEOF() && m_student.m_id!=(long)m_borrowerid/*m_borrowerid为一个UINT型变量*/)
{
m_student.MoveNext();
}
if(m_student.IsEOF())
{}
else
{
m_student.m_numberborrow++;
m_student.Update();//此处弹出错误说:更新或删除的企图失败了
}
但是 如果所要找的记录正好是第一条记录时,就不会弹出错误,
困惑阿。
我查了查, 在他调用update()是抛出了一个异常CDBException* 可怎么处理呢?
还是应该m_student = m_student.MoveNext();
没有用过,只是猜测。。
改变了阿,m_student.m_numberborrow++; 这就是阿
m_student.Open();
m_student.Edit();
while(!m_student.IsEOF() && m_student.m_id!=(long)m_borrowerid/*m_borrowerid为一个UINT型变量*/)
{
m_student.MoveNext(); if(m_student.IsEOF())
{}
else
{
m_student.m_numberborrow++;
m_student.Update();//此处弹出错误说:更新或删除的企图失败了
}
}
那是不是应该这样呢?
while(!m_student.IsEOF() && m_student.m_id!=(long)m_borrowerid/*m_borrowerid为一个UINT型变量*/)
还有表中的不能为null的都写入了?
它指向了这样一段异常代码
TRY
{
#ifndef _AFX_NO_OCC_SUPPORT
// special case for WM_DESTROY
if ((nMsg == WM_DESTROY) && (pWnd->m_pCtrlCont != NULL))
pWnd->m_pCtrlCont->OnUIActivate(NULL);
#endif // special case for WM_INITDIALOG
CRect rectOld;
DWORD dwStyle = 0;
if (nMsg == WM_INITDIALOG)
_AfxPreInitDialog(pWnd, &rectOld, &dwStyle); // delegate to object's WindowProc
lResult = pWnd->WindowProc(nMsg, wParam, lParam); // more special case for WM_INITDIALOG
if (nMsg == WM_INITDIALOG)
_AfxPostInitDialog(pWnd, rectOld, dwStyle);
}
CATCH_ALL(e)
{
lResult = AfxProcessWndProcException(e, &pThreadState->m_lastSentMsg);
TRACE(traceAppMsg, 0, "Warning: Uncaught exception in WindowProc (returning %ld).\n",
lResult);
DELETE_EXCEPTION(e);
}
m_student.Update();//此处弹出错误说:更新或删除的企图失败了 换成用sql语句来执行看看可不可以
m_student.SetFileValue(“列名”,”字符串”);
m_student.Update();
SetFileValue用这个函数处理下
可能需要类型转换,你是一下把。
呵呵,我也很菜。。
m_student.SetFileValue(“列名”,”字符串”);
m_student.Update();
SetFileValue用这个函数处理下
可能需要类型转换,你是一下把。
呵呵,我也很菜。。
m_student.SetFileValue(“列名”,”字符串”);
m_student.Update();
SetFileValue用这个函数处理下
可能需要类型转换,你是一下把。
呵呵,我也很菜。。
m_student.Update();之前的m_student.m_numberborrow++的值是正确的吗?
第一条如果可以,那数据库应该就没问题,可能就是你程序上有问题把。
我把代码改的简单了
CStudent m_student;
m_student.Open();
m_student.Edit();
m_student.Movenext();
m_student.Movenext();
m_student.m_numberborrow++;
m_student.update();
还是会在update();这里出错!