|

楼主 |
发表于 2020-4-6 19:06:28
|
显示全部楼层
- ③、使用记录集对象添加记录:
- BOOL CRentDVDDlg::RentDVDByRecordset(CString& strDVDID, CString& strRentName, CString& strRentDate)
- {
- BOOL bRet = FALSE;
- _RecordsetPtr pRentRecordset;
- pRentRecordset.CreateInstance(__uuidof(Recordset));
- try {
- HRESULT hr = pRentRecordset->Open(
- _T("select * from tbRentInfo"),
- m_pConnection.GetInterfacePtr(),
- adOpenDynamic,
- adLockOptimistic,
- adCmdText);
- if(SUCCEEDED(hr))
- {
- pRentRecordset->AddNew();
- pRentRecordset->PutCollect("sDVDID",_variant_t(strDVDID));
- pRentRecordset->PutCollect("sName",_variant_t(strRentName));
- pRentRecordset->PutCollect("sDate",_variant_t(strRentDate));
- pRentRecordset->Update();
- bRet = TRUE;
- }
- } catch(_com_error *e) {
- MessageBox(e->ErrorMessage());
- }
- pRentRecordset->Close();
- pRentRecordset = NULL;
- return bRet;
- }
- ===================================================
- ④、按钮响应函数调用 RentDVDByRecordset 实现租用功能:
- void CRentDVDDlg::OnBnClickedButtonRentit()
- {
- UpdateData(TRUE);
- CString strDVDID, strDate;
- GetDlgItem(IDC_DATE_RENT)->GetWindowText(strDate);
- int sel = m_DVDInfoList.GetSelectionMark();
- if(sel < 0)
- {
- MessageBox(_T("请选择要租借的DVD."));
- return;
- }else{
- strDVDID = m_DVDInfoList.GetItemText(sel, 0);
- }
- CString strLeftNum = m_DVDInfoList.GetItemText(sel, 2);
- int iLeftNum = _ttoi(strLeftNum);
- if(iLeftNum <= 0)
- {
- MessageBox(_T("不好意思,该DVD已经没有存货了."));
- return;
- }
- if(m_rentName.IsEmpty())
- {
- MessageBox(_T("请填写租借人的姓名."), _T("提示"), MB_OK|MB_ICONINFORMATION);
- m_editRentName.SetFocus();
- return;
- }
- BOOL bRet = RentDVDByRecordset(strDVDID, m_rentName, strDate);
- //BOOL bRet = RentDVDByCommand(strDVDID, m_rentName, strDate);
- if (TRUE == bRet) {
- m_bRent = TRUE;
- CRentMgrDlg *pParentWnd = (CRentMgrDlg *)GetParent();
- pParentWnd->ModDVDNum(strDVDID, -1);
- MessageBox(_T("租借成功!"), _T("提示"), MB_OK);
- }
- }
复制代码 |
|