https://www.gkbc8.com/thread-15134-1-1.html
当前例程在前面例程基础上,添加一个按钮,实现添加数据功能
上位机MFC如何使用ADO在数据库中添加记录
如上图,点击第三个按钮,可以任意向数据库不回数据。
按钮代码为
- void CGkbc8Dlg::OnButton2()
- {
- if (!(m_pRecordset->State & adStateOpen))
- {
- AfxMessageBox((_T("记录集未打开。")));
- return;
- }
- static long nIndex =0;
- nIndex++;
- CString strName;
- strName.Format("工控编程吧%d",nIndex);
- //添加记录集
- m_pRecordset->AddNew();
- m_pRecordset->PutCollect(_variant_t(_T("NAME")),
- _variant_t(strName));
- m_pRecordset->PutCollect(_variant_t(_T("AGE")),
- _variant_t(nIndex));
- m_pRecordset->Update();
- //读取记录集
- CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST);
- pListCtrl->DeleteAllItems();
- if (m_pRecordset->BOF && m_pRecordset->adoEOF)
- {
- return;
- }
- m_pRecordset->MoveFirst();
- int n = 0;
- while (!m_pRecordset->adoEOF)
- {
- _variant_t varValue;
- CString strName = _T("");
- int nAge = 0;
- varValue = m_pRecordset->GetCollect(_variant_t(_T("NAME")));
- if (varValue.vt != VT_NULL)
- {
- strName = varValue.bstrVal;
- }
- else
- {
- strName = _T("");
- }
- varValue = m_pRecordset->GetCollect(_variant_t(_T("AGE")));
- if (varValue.vt != VT_NULL)
- {
- nAge = varValue.intVal;
- }
- else
- {
- nAge = 0;
- }
- //刷新ListCtrl
- CString strText = _T("");
- strText.Format(_T("%d"), n + 1);
- pListCtrl->InsertItem(n, strText);
- strText.Format(_T("%s"), strName);
- pListCtrl->SetItemText(n, 1, strText);
- strText.Format(_T("%d"), nAge);
- pListCtrl->SetItemText(n, 2, strText);
- n++;
- m_pRecordset->MoveNext();
- }
- }
复制代码
上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例 经历1年的编程与录制点击进入查看
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|