Как проверить, присутствует ли строка с таким идентификатором в БД в Access DB приложением MFC - PullRequest
0 голосов
/ 24 октября 2019

У меня есть следующее окно:

enter image description here

В этом окне я могу вставить новую строку в БД. Но как я могу проверить, существует ли строка с таким идентификатором, например, когда я вставляю строку с таким же идентификатором, мое приложение вылетает. Вот код:

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. Я буду признателен за любую помощь. Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...