MFC列表控件用ADO添加数据实例

1、本程序基于前期我的博客文章《MFC用ADO连接ACESS数据库实例(免费源码下载)》
程序功能通过编辑框、组合框实时将数据写入ACESS数据库并在列表控件上显示。
2、在主界面资源视图上加上一个按钮控件、两个静态文本、一个编辑框IDC_EDIT1变量名name、一个组合框IDC_COMBO1变量名COMBO。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、在DataAdoDlg.h类定义中添加代码

public:
void OnInitADOConn();
void display();
void ExitConnect();

4、DataAdoDlg.cpp中主要代码如下:

BOOL CDataAdoDlg::OnInitDialog()
{
	CDialog::OnInitDialog();   
	......
	// TODO: Add extra initialization here
	m_COMBO.SetCurSel(0);  
	m_list.SetExtendedStyle(LVS_EX_FLATSB
		|LVS_EX_FULLROWSELECT
		|LVS_EX_HEADERDRAGDROP
		|LVS_EX_ONECLICKACTIVATE
		|LVS_EX_GRIDLINES);
  	m_list.InsertColumn(0,"姓名",LVCFMT_LEFT,50,0);
	m_list.InsertColumn(1,"性别",LVCFMT_LEFT,50,1);
	display();
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CDataAdoDlg::display()
{
	OnInitADOConn();
	//设置查询字符串
	_bstr_t bstrSQL = "select * from 表1 ";
	//创建记录集指针对象实例
	m_pRecordset.CreateInstance(__uuidof(Recordset));
	//打开记录集
	m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,
		adLockOptimistic,adCmdText);
	while(!m_pRecordset->adoEOF)
	{
		m_list.InsertItem(0,"");
    	m_list.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset->GetCollect("姓名"));
		m_list.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset->GetCollect("性别"));
		//将记录集指针移动到下一条记录
		m_pRecordset->MoveNext();
	}
	//关闭记录集和连接
ExitConnect();
}

void CDataAdoDlg::ExitConnect()
{
	//关闭记录集和连接
	if(m_pRecordset!=NULL)
		m_pRecordset->Close();
	m_pConnection->Close();
}


void CDataAdoDlg::OnButton1() 
{
UpdateData(TRUE);
	if(name.IsEmpty())
	{
		MessageBox("姓名不能为空!");
		return;
	}
	OnInitADOConn();
	_bstr_t sql;
	sql = "select * from 表1";
	m_pRecordset.CreateInstance(__uuidof(Recordset));
	m_pRecordset->Open(sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,
		adLockOptimistic,adCmdText);
	try
	{
		m_pRecordset->AddNew(); //添加新行
		m_pRecordset->PutCollect("姓名",(_bstr_t)name);
		CString strWeb;   
        int nSel;     
        nSel = m_COMBO.GetCurSel();// 获取组合框控件的列表框中选中项的索引     
        m_COMBO.GetLBText(nSel, strWeb);  // 根据选中项索引获取该项字符串  
		m_pRecordset->PutCollect("性别",(_bstr_t)strWeb);
		m_pRecordset->Update(); //更新数据表
		ExitConnect();
	}
	catch(...)
	{
		MessageBox("操作失败");
		return;
	}
	MessageBox("添加成功");
	m_list.DeleteAllItems(); //删除列表控件
	display();			
}


运行程序
在这里插入图片描述

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-05-04 19:48:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-04 19:48:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-04 19:48:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-04 19:48:02       18 阅读

热门阅读

  1. Linux下运行jar包的方式

    2024-05-04 19:48:02       10 阅读
  2. MongoDB聚合运算符:$tan

    2024-05-04 19:48:02       8 阅读
  3. Spring MVC系列之异步请求

    2024-05-04 19:48:02       7 阅读
  4. 关于作者

    2024-05-04 19:48:02       16 阅读
  5. 商业银行终端安全管理创新与实践

    2024-05-04 19:48:02       10 阅读
  6. Service Mesh 是什么?

    2024-05-04 19:48:02       12 阅读
  7. MYSQL从入门到精通(一)

    2024-05-04 19:48:02       13 阅读
  8. 2024系统架构师---测试用例效用树的核心概念

    2024-05-04 19:48:02       14 阅读
  9. TIPS:MySQL按给定时间间隔分组统计

    2024-05-04 19:48:02       12 阅读