使用ODBC访问数据库--怎样查询数据库中记录集的个数?GetRecordCount?
下面的代码为图书馆管理系统中借书查询的一部分,
//将借书信息存入借书信息表中
strSQL.Format("select * from Borrow_Info");
CBorrowSet *m_pBorrow=new CBorrowSet(&m_database);
m_pBorrow->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_pBorrow->GetRecordCount()==0)
{
MessageBox("数据库中没有借书信息,此为第一条借书信息!","借书",MB_OK|MB_ICONINFORMATION);
} m_pBorrow->AddNew();
m_pBorrow->SetFieldNull(&(m_pBorrow->m_Proof_ID),FALSE);
m_pBorrow->m_Proof_ID=m_strProofID; m_pBorrow->SetFieldNull(&(m_pBorrow->m_Book_ID),FALSE);
m_pBorrow->m_Book_ID=m_strBookID; CTime curTime=CTime::GetCurrentTime();
m_pBorrow->SetFieldNull(&(m_pBorrow->m_Borrow_Date),FALSE);
m_pBorrow->m_Borrow_Date=curTime; int count=1;
//查询记录集中记录的个数之方法一:
// m_pBorrow->MoveFirst();
// while(!(m_pBorrow->IsEOF()))
// m_pBorrow->MoveNext();
// count=(int)(m_pBorrow->GetRecordCount());
// m_pBorrow->m_BorrowID=count+1;//查询记录集中记录的个数之方法二:
// m_pBorrow->MoveFirst();
// while(!m_pBorrow->IsEOF())
// {
// count++;
// m_pBorrow->MoveNext();
// }
// m_pBorrow->m_BorrowID=count;
//查询记录集中记录的个数之方法三:
m_pBorrow->m_BorrowID=m_pBorrow->GetRecordCount(); m_pBorrow->Update();
m_pBorrow->Requery();
m_pBorrow->Close();
m_database.CommitTrans();
m_database.Close(); MessageBox("借书成功!","借书/还书",MB_OK|MB_ICONINFORMATION);
RefreshData();
........
方法一和方法二在网上看到的,方法三是错误的,但方法一和方法二砸我的程序中仍然有问题,弹出警告对话框"更新或删除的企图失败了".方法三m_pBorrow->m_BorrowID 的结果一直是1.
请问各位前辈高手我的程序问题在哪???在此谢过.
下面的代码为图书馆管理系统中借书查询的一部分,
//将借书信息存入借书信息表中
strSQL.Format("select * from Borrow_Info");
CBorrowSet *m_pBorrow=new CBorrowSet(&m_database);
m_pBorrow->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_pBorrow->GetRecordCount()==0)
{
MessageBox("数据库中没有借书信息,此为第一条借书信息!","借书",MB_OK|MB_ICONINFORMATION);
} m_pBorrow->AddNew();
m_pBorrow->SetFieldNull(&(m_pBorrow->m_Proof_ID),FALSE);
m_pBorrow->m_Proof_ID=m_strProofID; m_pBorrow->SetFieldNull(&(m_pBorrow->m_Book_ID),FALSE);
m_pBorrow->m_Book_ID=m_strBookID; CTime curTime=CTime::GetCurrentTime();
m_pBorrow->SetFieldNull(&(m_pBorrow->m_Borrow_Date),FALSE);
m_pBorrow->m_Borrow_Date=curTime; int count=1;
//查询记录集中记录的个数之方法一:
// m_pBorrow->MoveFirst();
// while(!(m_pBorrow->IsEOF()))
// m_pBorrow->MoveNext();
// count=(int)(m_pBorrow->GetRecordCount());
// m_pBorrow->m_BorrowID=count+1;//查询记录集中记录的个数之方法二:
// m_pBorrow->MoveFirst();
// while(!m_pBorrow->IsEOF())
// {
// count++;
// m_pBorrow->MoveNext();
// }
// m_pBorrow->m_BorrowID=count;
//查询记录集中记录的个数之方法三:
m_pBorrow->m_BorrowID=m_pBorrow->GetRecordCount(); m_pBorrow->Update();
m_pBorrow->Requery();
m_pBorrow->Close();
m_database.CommitTrans();
m_database.Close(); MessageBox("借书成功!","借书/还书",MB_OK|MB_ICONINFORMATION);
RefreshData();
........
方法一和方法二在网上看到的,方法三是错误的,但方法一和方法二砸我的程序中仍然有问题,弹出警告对话框"更新或删除的企图失败了".方法三m_pBorrow->m_BorrowID 的结果一直是1.
请问各位前辈高手我的程序问题在哪???在此谢过.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货