实验报告
课程名称计算机测控技术
实验项目完成AD数据采集的数据库管理
实验仪器 Visual C++
系别仪器科学与光电工程
专业测控技术与仪器
班级/学号
学生姓名
实验日期
成绩
指导教师
实验2
一、实验名称:完成AD数据采集的数据库管理
二、实验目的:掌握数据库应用程序的设计与开发
三、实验内容:
1、创建数据源
2、连接数据库
3、进行数据操作
【实验】结合实验1编写一个数据库应用程序,将实验1所采集的数据存入数据库中。数据库中记录包含的字段有“实验次数”、“采样点”、“波形幅值”、“采样时间”,编写应用程序,使它具备按每一个字段进行查询的功能。
编程思路及参考程序:
1. 创建基于对话框的项目,项目名称为自定,假定名称为MyProject。
2. 本例题介绍另外一种数据库访问方式,即使用ADO来进行数据访问,ADOX 进行创建数据库操作,使用普通Windows控件来显示数据。 中添加对ADO组件的引用:
#import "C:\Program mon Files\system\ado\"
#import "C:\Program mon Files\System\ado\" no_namespace rename ( "EOF", "adoEOF" )
组件,的支持。
BOOL CMyProjectApp::InitInstance()
{
//环境
If (FAILED(::CoInitialize(NULL)))
return FALSE;
AfxEnableControlContainer();
…
return FALSE;
}
int CMyProjectApp::ExitInstance()
{
//环境
::CoUninitialize();
return CWinApp::ExitInstance();
}
其中ExitInstance方法需要通过ClassWizard重载来添加。
。为正常使用ADO,为CMyProjectDlg类添加ADO成员。
ADOX::CatalogPtr m_pCatalog; // ADOX对象,用于建表
_ConnectionPtr m_pConnection; // 数据库连接对象,用于保持连接
_RecordsetPtr m_pRs; // 结果集对象,用于访问数据库
,难免遇到各种错误,因此程序中需要判断函数调用返回值和捕获例外,因此先实现两个用于错误处理的成员函数。
void Error(_com_error &e); // 显示ADO错误消息
void Error(HRESULT hr); // 检测HRESULT值
void CMyProjectDlg::Error(HRESULT hr)
{
If (FAILED(hr))
_com_issue_error(hr); // 显示HRESULT错误消息
}
void CMyProjectDlg::Error(_com_error &e)
{
CString ErrorStr;
_bstr_t bstrSource(());
_bstr_t bstrDescription(());
( "Error\n\t 代码= %08lx\n\t 代码表示= %s\n\t 来源= %s\n\t 描述= %s\n",
(), (), (LPCSTR)bstrSource, (LPCSTR)bstrDescription );
#ifdef _DEBUG
AfxMessageBox( ErrorStr, MB_OK | MB_ICONERROR );
#endif
}
5. 接下来关注初始化过程。程序运行时,先检查磁盘上是否存在该数据库,如果不存在则创建数据库以及表,并初始化10条记录。
建立 ADO连接的函数如下:
void InitConnection(); // 建立ADO连接
void CMyProjectDlg::InitConnection()
{
HRESULT hr = ( __uuidof( Connection ) );
// 创建连接对象实例
Error(h
应用程序设计实验报告2完成AD数据采集的数据库管理 来自淘豆网m.daumloan.com转载请标明出处.