问题描述
- 多步 OLE DB 操作产生错误。 如果可能,请检查每个 OLE DB 状态值。没有工作被完成。
-
BOOL CAIASPDoc::DB_Insert(CAIImg* imgDeposit, CFile &file) { try { m_pRecordset->Open(_variant_t("ai_img"), m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdTable); //打开ai_img表 m_pRecordset->AddNew(); //新增一条记录 //写入每个字段的值 m_pRecordset->PutCollect("FILE_NAME",_variant_t(imgDeposit->fileName)); m_pRecordset->PutCollect("IMG_SOURCE", _variant_t(imgDeposit->imgSource)); //... //向img_data字段添加数据 long length = (long)file.GetLength(); BYTE* pbuf = new BYTE[length]; if(pbuf != NULL && file.Read(pbuf, length) == (DWORD)length) { MyAppendChunk(m_pRecordset->GetFields()->GetItem("img_data"), pbuf, length); } m_pRecordset->Update(); //添加记录 } catch(_com_error &e) { AfxMessageBox(e.Description()); m_pRecordset->Close(); return FALSE; } m_pRecordset->Close(); return TRUE; }
就是这个函数,我用循环调用他,但总是成功一次失败一次这样间隔着来,失败的时候就报“多步 OLE DB 操作产生错误。 如果可能,请检查每个 OLE DB 状态值。没有工作被完成。”这个错误。求大神们帮帮忙!
时间: 2024-08-03 15:22:44