VC中使用ADO操作数据库(Insert)

http://blog.sina.com.cn/s/blog_6d0730c70100uhp1.html

bool CBookDb::AddBookNote(const BookNoteInfo& note)
{
    try
    {  
        m_pRecordset->Open(_T("select * from BookNotes"),_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);  

        m_pRecordset->AddNew();//添加一条新纪录

        if(note.m_strId.IsEmpty())
            return false;

        m_pRecordset->PutCollect(_T("Id"), _variant_t(note.m_strId));
        m_pRecordset->PutCollect(_T("BookPath"), _variant_t(note.m_strBookPath));
        m_pRecordset->PutCollect(_T("OriginalText"), _variant_t(note.m_strOriginalText));
        m_pRecordset->PutCollect(_T("BeginOffset"), _variant_t(note.m_nBeginOffset));
        m_pRecordset->PutCollect(_T("EndOffset"), _variant_t(note.m_nEndOffset));
        m_pRecordset->PutCollect(_T("NoteText"), _variant_t(note.m_strNoteText));

        m_pRecordset->Update();//不要漏掉,否则下面的close会出现 UNKNOWN ERROR 0X800A0E79
    }
    catch (_com_error e)
    {
        AfxMessageBox(e.ErrorMessage());
        m_pRecordset->CancelUpdate(); //不要漏掉 :)
        CString strInfo;
        strInfo.Format(_T("AddNewBookDetails出错errormessage=%s decription=%s"), e.ErrorMessage(), e.Description());
        LogFile::WriteLine(strInfo);
        m_pRecordset->Close();
        return false;
    }

    //m_pRecordset->Close();
    return true;
}

猜你喜欢

转载自blog.csdn.net/active2489595970/article/details/88550570
今日推荐