点击按钮打开文件夹中的数据文件生成曲线
相关代码
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(); //将记录集指针移动到下一条记}}
}