搜索
编程论坛
→
开发语言
→
C++论坛
→
『 VC++/MFC 』
→ MFC怎么实现ODBC连接ACCESS数据库,请各位指点?
标题:
MFC怎么实现ODBC连接ACCESS数据库,请各位指点?
只看楼主
love1234
等 级:
新手上路
帖 子:8
专家分:0
注 册:2006-5-26
楼主
问题点数:0 回复次数:5
MFC怎么实现ODBC连接ACCESS数据库,请各位指点?
关于利用ODBC动态连接ACCESS数据库?
我的问题不知道行不行?请大家理解
我想通过ODBC远程连接ACCESS数据库,用MFC实现!
譬如,通过用户输入远程端的ip地址或者主机名和密码登陆,然后访问主机上ODBC设置好的数据源test.mdb
急着要,请各位高手帮个忙,谢谢!
搜索更多相关主题的帖子:
ODBC
MFC
数据库
ACCESS
主机
2006-05-26 12:58
love1234
等 级:
新手上路
帖 子:8
专家分:0
注 册:2006-5-26
第
2
楼
得分:0
有人么?
急呀
2006-05-26 20:17
love1234
等 级:
新手上路
帖 子:8
专家分:0
注 册:2006-5-26
第
3
楼
得分:0
有人么?
急呀
2006-05-27 16:48
love1234
等 级:
新手上路
帖 子:8
专家分:0
注 册:2006-5-26
第
4
楼
得分:0
有人么?
急呀
2006-05-30 12:32
funnnyhuang817
等 级:
新手上路
帖 子:4
专家分:0
注 册:2006-5-30
第
5
楼
得分:0
【2】用#import指令引入ADO类型库
我们在stdafx.h中加入如下语句:(stdafx.h这个文件哪里可以找到?你可以在FileView中的Header Files里找到)
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
这一语句有何作用呢?其最终作用同我们熟悉的#include类似,编译的时候系统会为我们生成msado15.tlh,ado15.tli两个C++头文件来定义ADO库。
几点说明:
(1) 您的环境中msado15.dll不一定在这个目录下,请按实际情况修改
(2) 在编译的时候肯能会出现如下警告,对此微软在MSDN中作了说明,并建议我们不要理会这个警告。
msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
【3】创建Connection对象并连接数据库
首先我们需要添加一个指向Connection对象的指针:
_ConnectionPtr m_pConnection;
下面的代码演示了如何创建Connection对象实例及如何连接数据库并进行异常捕捉。
BOOL CADOTest1Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb","","",adModeUnknown);///连接数据库
///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51; }
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
在这段代码中我们是通过Connection对象的Open方法来进行连接数据库的,下面是该方法的原型
HRESULT Connection15::Open ( _bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long Options )
ConnectionString为连接字串,UserID是用户名, Password是登陆密码,Options是连接选项,用于指定Connection对象对数据的更新许可权,
Options可以是如下几个常量:
adModeUnknown:缺省。当前的许可权未设置
adModeRead:只读
adModeWrite:只写
adModeReadWrite:可以读写
adModeShareDenyRead:阻止其它Connection对象以读权限打开连接
adModeShareDenyWrite:阻止其它Connection对象以写权限打开连接
adModeShareExclusive:阻止其它Connection对象打开连接
adModeShareDenyNone:允许其它程序或对象以任何权限建立连接
我们给出一些常用的连接方式供大家参考:
(1)通过JET数据库引擎对ACCESS2000数据库的连接
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\test.mdb","","",adModeUnknown);
(2)通过DSN数据源对任何支持ODBC的数据库进行连接:
m_pConnection->Open("Data Source=adotest;UID=sa;PWD=;","","",adModeUnknown);
不知道对你有没帮助???
2006-05-30 15:07
love1234
等 级:
新手上路
帖 子:8
专家分:0
注 册:2006-5-26
第
6
楼
得分:0
xie xie!
2006-05-30 18:22
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-67362-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.775491 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved