无记录的数据库添加第一条记录为何出错?

bibye 2002-03-12 10:04:36
数据库的字段包含CTime类型,在database->Update()时会出:
_AFX_INLINE int CTime::GetYear() const
{ return (GetLocalTm(NULL)->tm_year) + 1900; }
的错误!

但是可以肯定的是,在数据库中至少有一条记录时,操作完全不会出错。
我添加记录的代码如下:

CRecordSet* database;
///////////////////////////
if (!database->IsOpen())
database->Open();
if (database->IsBOF() == 0 )
database->MoveFirst();

database->AddNew();
if (!database->CanAppend())
{
AfxMessageBox("You can't add a new record!");
}
if (database->IsEOF() == 0)
database->MoveLast();

{
//赋值操作
}
try
{
database->Update(); //此处时出错,没有执行到下边语句
}
catch(CDBException* e)
{
AfxMessageBox(e->m_strError);
return ;
}

database->Requery();
...全文
29 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bibye 2002-03-12
  • 打赏
  • 举报
回复
有没有人能回答此问题啊?
bibye 2002-03-12
  • 打赏
  • 举报
回复
各位大侠,帮帮我啊!!!

1,650

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧