工控编程吧
标题:
上位机MFC如何使用ADO在数据库中添加记录
[打印本页]
作者:
qq263946146
时间:
2019-8-9 12:16
标题:
上位机MFC如何使用ADO在数据库中添加记录
https://www.gkbc8.com/thread-15134-1-1.html
当前例程在前面例程基础上,添加一个按钮,实现添加数据功能
(, 下载次数: 5)
上传
点击文件名下载附件
如上图,点击第三个按钮,可以任意向数据库不回数据。
按钮代码为
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();
}
}
复制代码
(, 下载次数: 0)
上传
点击文件名下载附件
[MFC408]1[/MFC408]
[weixinlianxi]1[/weixinlianxi]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4