ADO方法对Access数据库操作.docx
- 文档编号:9910600
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:11
- 大小:827.33KB
ADO方法对Access数据库操作.docx
《ADO方法对Access数据库操作.docx》由会员分享,可在线阅读,更多相关《ADO方法对Access数据库操作.docx(11页珍藏版)》请在冰豆网上搜索。
ADO方法对Access数据库操作
一、Access数据库创建
新建一个Accesss数据库文件,然后文件--新建--空白桌面数据库,弹出下面的窗口。
点击那个小文件夹的图标,出现下面的窗口,保存类型选择2002—2003格式,文件名shujuku.mdb,然后确定,创建。
然后在设计视图中设计数据库成下面的样式。
再在数据库中增添一些信息如下:
然后保存就可以了,记得注意一下把“表1”这个名字改过来啊。
二、在VC++中建立一个基于对话框的工程(在这里取名为sjtest)
1、在FileView中的HeaderFiles的StdAfx.h头文件中导入msado15.dll文件。
(代码如下)
#import"C:
\ProgramFiles\CommonFiles\System\ado\msado15.dll"no_namespace\
rename("EOF","adoEOF")rename("BOF","adoBOF")
2、在主窗口类声明两个变量。
(在CsjtestDlg.h中)
代码:
(这两个是智能指针,XX一下哈)
_ConnectionPtrm_pConnection;
_RecordsetPtrm_pRecordset;
3、在对话框中添加一个ListControl控件,并且将其属性中的Style设置如图
4、为listcontrol捆绑变量m_Grid(查看—建立类向导—AddMembervariablename)
5、在CSjtestApp应用程序类中的初始化函数InitInstance()中初始化COM环境
在上面添加:
:
:
CoInitialize(NULL);
并在return之前释放:
添加代码如下:
:
:
CoUninitialize();
6、建立ADO连接数据库函数
在主窗口类(CSjktestDlg)库中添加函数OnInitADOConn()如图:
并在函数体中写上下面的语句:
try
{
//创建连接对象实例
m_pConnection.CreateInstance("ADODB.Connection");
//设置连接字符串
CStringstrConnect="DRIVER={MicrosoftAccessDriver(*.mdb)};\
uid=;pwd=;DBQ=shujuku.mdb;";
//使用Open方法连接数据库
m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);
}
catch(_com_errore)
{
AfxMessageBox("连接数据失败,请检查数据库路径是否正确!
");
}
这里,shujuku.mdb是你建立的Access数据库的名字。
7、建立关闭记录集和连接函数ExitConnect()。
在主窗口类(CSjktestDlg)库中添加函数ExitConnect()如图:
在函数体上写上:
if(m_pRecordset!
=NULL)
m_pRecordset->Close();
m_pConnection->Close();
8、接着在初始化对话框中调用OnInitADOConn函数,已经获取数据库表中数据并显示在列表控件中。
代码如下:
m_Grid.SetExtendedStyle(LVS_EX_FLATSB
|LVS_EX_FULLROWSELECT
|LVS_EX_HEADERDRAGDROP
|LVS_EX_ONECLICKACTIVATE
|LVS_EX_GRIDLINES);
m_Grid.InsertColumn(0,"员工编号",LVCFMT_LEFT,80,0);
m_Grid.InsertColumn(1,"员工姓名",LVCFMT_LEFT,80,1);
m_Grid.InsertColumn(2,"所属部门",LVCFMT_LEFT,80,2);
m_Grid.InsertColumn(3,"基本工资",LVCFMT_LEFT,80,3);
//连接数据库
OnInitADOConn();
//设置查询字符串
_bstr_tbstrSQL="select*fromemployeesorderby员工编号desc";
//创建记录集指针对象实例
m_pRecordset.CreateInstance(__uuidof(Recordset));//该句也可以使用
//m_pRecordset.CreateInstance(“ADODB.Recordset”);代替
//打开记录集
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,
adLockOptimistic,adCmdText);
while(!
m_pRecordset->adoEOF)
{
m_Grid.InsertItem(0,"");
m_Grid.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset->GetCollect("员工编号"));
m_Grid.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset->GetCollect("员工姓名"));
m_Grid.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset->GetCollect("所属部门"));
m_Grid.SetItemText(0,3,(char*)(_bstr_t)m_pRecordset->GetCollect("基本工资"));
//将记录集指针移动到下一条记录
m_pRecordset->MoveNext();
}
//断开数据库连接
ExitConnect();
注:
上面用红色标注的employees是你改的表1的名字,如果没改的话,会报错。
9、把第一步做好的Access数据库文件拷贝到工程目录下。
10、编译运行,出现下面的结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ADO 方法 Access 数据库 操作