У меня есть следующее окно:
В этом окне я могу вставить новую строку в БД. Но как я могу проверить, существует ли строка с таким идентификатором, например, когда я вставляю строку с таким же идентификатором, мое приложение вылетает. Вот код:
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);
}
Этим способом я даю доступ к редактированию идентификатора, как при работе с данными (не вставляя строку), это редактирование доступно только для чтения. А вот код вставки в метод 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. Я буду признателен за любую помощь. Заранее спасибо!