C++ 如何通过MFC app检查Access db中的db中是否存在具有该id的行
我有以下窗口: 通过此窗口,我可以将新行插入数据库。但我如何检查是否存在具有此类ID的行,比如当我插入具有相同ID的行时,我的应用程序崩溃了。代码如下:C++ 如何通过MFC app检查Access db中的db中是否存在具有该id的行,c++,ms-access,mfc,C++,Ms Access,Mfc,我有以下窗口: 通过此窗口,我可以将新行插入数据库。但我如何检查是否存在具有此类ID的行,比如当我插入具有相同ID的行时,我的应用程序崩溃了。代码如下: void CMikhailovskiiDBView::OnRecordAdd() { // TODO: Add your command handler code here m_pSet->AddNew(); m_bAdding = TRUE; CEdit* pCtrl = (CEdit*)GetDlgI
void CMikhailovskiiDBView::OnRecordAdd()
{
// TODO: Add your command handler code here
m_pSet->AddNew();
m_bAdding = TRUE;
CEdit* pCtrl = (CEdit*)GetDlgItem(IDC_LibraryID);
int result = pCtrl->SetReadOnly(FALSE);
UpdateData(FALSE);
}
通过此方法,我可以访问ID edit,因为当我处理数据(而不是插入行)时,此编辑是只读的。下面是插入db方法的代码:
BOOL CMikhailovskiiDBView::OnMove(UINT nIDMoveCommand)
{
if (m_bAdding) {
m_bAdding = FALSE;
UpdateData(TRUE);
if (m_pSet->CanUpdate()){
m_pSet->Update();
m_pSet->Requery();
UpdateData(FALSE);
CEdit* pCtrl = (CEdit*)GetDlgItem(IDC_LibraryID);
pCtrl->SetReadOnly(TRUE);
return TRUE;
}
}
else {
return CRecordView::OnMove(nIDMoveCommand);
}
}
所以,我甚至不知道我应该在哪里添加ID验证。我将感谢任何帮助。提前谢谢 我想打开一个ID为筛选条件的记录集。如果记录集为空,则ID不存在。ID是主键吗?这不是应该由table autonumber字段生成的吗?只需使用ID进行一次选择,如果此选择返回至少一行,则不应再进一步。(当然,您可以使用单独的方法进行此操作)。