MFC工控项目实例三十五读取数据库数据

点击按钮打开文件夹中的数据文件生成曲线

相关代码

cpp 复制代码
void CSEAL_PRESSUREDlg::OnTesReport() 
{
 	
CFileDialog dlgOpen(TRUE/*TRUE打开,FALSE保存*/,
        0,
        0,
        OFN_NOCHANGEDIR|OFN_FILEMUSTEXIST,
        "All Files(mdb.*)|*.*||",//文件过滤器
        NULL);
  
CString  mdb_1, mdb_2;
    dlgOpen.m_ofn.lpstrInitialDir =theApp.m_DataPath;
    if(IDOK == dlgOpen.DoModal())
	{
             mdb_1=dlgOpen.GetPathName();
             mdb_2=dlgOpen.GetFileTitle();    
			 UpdateData(true); 
 _variant_t RecordsAffected; 
    //链接数据库
       try
	   {
		//创建连接对象实例
		m_pConnection.CreateInstance("ADODB.Connection");	
	CString strConnect="DRIVER={Microsoft Access Driver (*.mdb)};\
			uid=;pwd=;DBQ="+mdb_1;	
		m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);  
	   }	
          catch(...)
		  {
		MessageBox("连接数据库失败");
		return;
		  }    
            try
			{
       m_pRecordset.CreateInstance("ADODB.Recordset"); //为Recordset对象创建实例
       _bstr_t strCmd = "SELECT * FROM  "+mdb_2;
       m_pRecordset = m_pConnection->Execute(strCmd, &RecordsAffected, adCmdText);
			}
              catch(_com_error &e)
			  {
       AfxMessageBox(e.Description());
			  }
			   m_ctrlPlot_1.RemoveAllChannels();
               m_ctrlPlot_1.AddChannel();
                while(!m_pRecordset->adoEOF)
				{	
	 	 double X=(double)atof((char*)(_bstr_t)m_pRecordset->GetCollect("X值"));
		 double Y=(double)atof((char*)(_bstr_t)m_pRecordset->GetCollect("Y值"));
	 	 m_ctrlPlot_1.GetChannel(0).AddXY(X/10, Y);	
		m_pRecordset->MoveNext();	//将记录集指针移动到下一条记
				}
	}	
}
相关推荐
云边有个稻草人33 分钟前
Tera Term 鸿蒙 PC 适配全记录:用 ArkUI 与 Native C++ 重建多协议终端工作流
c++·stm32·harmonyos
牛油果子哥q34 分钟前
多模态大模型工程入门:图文Embedding、图文RAG、图片解析、C++多模态接口封装实战
开发语言·c++·embedding
庆登登登37 分钟前
MySQL Workbench 鸿蒙 PC 适配全记录:从 GTK_X11 桌面程序到 ArkUI 原生数据库工作台
数据库·mysql·harmonyos
2601_9632827741 分钟前
政企无线对讲系统落地:从设备采购到长期运维的完整工程实践
大数据·运维·数据库
熊文豪41 分钟前
OceanBaseVS金仓:一条 SQL 的两条路——KingbaseES 的性能竞争力从哪来
数据库·sql·电科金仓
大模型码小白1 小时前
数据可视化:AI 生成 HTML5 动态交互式数据图表
前端·数据库·人工智能·深度学习·机器学习·信息可视化·html5
风哥2号1 小时前
数据库教程FGMT26‑1‑GoldenGate数据库容灾迁移01(OGG同构异构、数据库迁移、数据同步、容灾复制)
数据库·oracle
颜颜yan_1 小时前
Firebird 鸿蒙 PC 适配全记录:打通数据库内核、Qt 管理端与原生维护工具
数据库·qt·harmonyos
风哥2号1 小时前
数据库教程FGMT25‑Oracle多租户架构CDB与PDB运维管理
数据库·oracle
程序猿乐锅1 小时前
【黑马点评 | 第一篇】从 Session 到 Redis+Token 的改造与拦截器实现
数据库·redis·缓存