VC++下封装ADO类以及使用方法

操作系统:windows 7
软件环境:visual studio 2008 、Microsoft SQL 2005
本次目的:介绍一个已经封装的ADO类,简单说明怎么导入使用

      首先声明一下,这个封装的ADO类是在【vc知识库 】下载的,因为最近在数据库课程设计,所以对vc++下使用ADO连接数据库不是很了解,故若是本文有错误的地方的,请不吝指出。具体的ADO类各个封装功能请进入【原文地址 】查看。在此仅介绍使用此ADO封装类的入门,如连接数据库,显示记录等。一个测试例子如下:
VC++下封装ADO类以及使用方法_第1张图片

使用步骤:
1.先从【这里 】下载封装的ADO类,可以用记事本之类的打开里面的文件,对于每个功能已经注释的蛮详细的;
2.准备数据库,可以是SQL 2000 或更高的,在这里我是用SQL 2005,新建一个vc_sqlexample数据库一个student表,格式如下:
VC++下封装ADO类以及使用方法_第2张图片
3.具体的表内容可以随便写,然后新建MFC基于对话框工程(名称为测试1),右键工程名,添加封装的ADO类到工程里面;
4.初始化 COM 环境,添加以下代码:
/* 测试1.h */ class C测试1App : public CWinApp { public: virtual int ExitInstance(); } /* 测试1.cpp */ BOOL C测试1App::InitInstance() { CoInitialize(NULL); } int C测试App::ExitInstance() { CoUninitialize(); return CWinApp::ExitInstance(); }
5.在对话框(工程基于对话框)头文件添加"ado.h",在类的声明里添加对象。并且在实现文件里面的OnInitDialog函数连接数据库。
#include "ado.h" class C测试1Dlg : public CDialog { protected: CAdoConnection m_adoConnection; CAdoRecordSet m_adoRecordSet; } /* 测试1Dlg.cpp : 实现文件 */ BOOL C测试1Dlg::OnInitDialog() { if (m_adoConnection.ConnectSQLServer("127.0.0.1","vc_sqlexample","sa","wjs1314")) { m_adoRecordSet.SetAdoConnection(&m_adoConnection); m_adoRecordSet.SetCursorLocation(); m_adoRecordSet.Open("student", adCmdTable); m_adoConnection.BeginTrans(); UpdateRecord(TRUE); } else { MessageBox("数据库连接失败!"); } }
6.为控件添加变量(右键控件添加变量),和一个显示数据的函数,还有上一条记录、下一条记录的按钮功能
class C测试1Dlg : public CDialog { public: COleDateTime m_strBirth; CString m_strBrief; CString m_strStuId; CString m_strName; CString m_strSex; BOOL UpdateRecord(BOOL bLoad = TRUE); } BOOL C测试1Dlg::UpdateRecord(BOOL bLoad) { if (m_adoRecordSet.GetRecordCount() < 1) return FALSE; if (bLoad) { if (!m_adoRecordSet.GetCollect("stuId", m_strStuId) || !m_adoRecordSet.GetCollect("stuName", m_strName) || !m_adoRecordSet.GetCollect("stuSex", m_strSex) || !m_adoRecordSet.GetCollect("birth", m_strBirth) || !m_adoRecordSet.GetCollect("brief", m_strBrief) ) {} UpdateData(FALSE); return TRUE; } } void C测试1Dlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 UpdateData(); if (m_adoRecordSet.MovePrevious()) UpdateRecord(); } void C测试1Dlg::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序代码 UpdateData(); if (m_adoRecordSet.MoveNext()) UpdateRecord(); }
7.启动数据库,运行编译程序。

你可能感兴趣的:(2.1,VC++/MFC)