社区
数据库
帖子详情
VC6提供有类似VB中ADO控件吗?
msdn2009_2010
2009-06-09 01:35:44
如题,有没有?
怎么找不到呢?
...全文
157
6
打赏
收藏
VC6提供有类似VB中ADO控件吗?
如题,有没有? 怎么找不到呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
delphi_911
2009-06-09
打赏
举报
回复
[Quote=引用 4 楼 msdn2009_2010 的回复:]
没有提供控件?
这里面的意识好像是通过什么方式得到ADO控件?
[/Quote]
要是VC6.0的话,Project->Add To Project->Components and Controls
delphi_911
2009-06-09
打赏
举报
回复
[Quote=引用楼主 msdn2009_2010 的帖子:]
如题,有没有?
怎么找不到呢?
[/Quote]
当然有!
msdn2009_2010
2009-06-09
打赏
举报
回复
没有提供控件?
http://topic.csdn.net/u/20090609/01/703c58d5-a4d7-4318-a24d-6211a5f00062.html
这里面的意识好像是通过什么方式得到ADO控件?
Gothic_girl
2009-06-09
打赏
举报
回复
CAdodc adodc;
可以找找这个类的资料看看,封装了基本功能
Gothic_girl
2009-06-09
打赏
举报
回复
1、导入库文件
使用ADO前必须在工程的stdafx.h文件最后用直接引入符号#import引入ADO库文件,以使编译器能正确编译。代码如下:
#import "C:\Program Files\common files\system\ado\msado15.dll" no_namespace rename("EOF","EndOfFile") rename("BOF","FirstOfFile")
ADO类的定义是作为一种资源存储在ADO DLL(msado15.dll)中,在其内部称为类型库。类型库描述了自治接口,以及C++使用的COM vtable接口。当使用#import指令时,在运行时Visual C++需要从ADO DLL中读取这个类型库,并以此创建一组C++头文件。这些头文件具有.tli 和.tlh扩展名,读者可以在项目的目录下找到这两个文件。在C++程序代码中调用的ADO类要在这些文件中定义。
程序的第三行指示ADO对象不使用名称空间。在有些应用程序中,由于应用程序中的对象与ADO中的对象之间可能会出现命名冲突,所以有必要使用名称空间。如果要使用名称空间,则可把第三行程序修改为: rename_namespace("AdoNS")。第四行代码将ADO中的EOF(文件结束)更名为adoEOF,以避免与定义了自己的EOF的其他库冲突。
2、初始化COM环境
(1)::CoInitialize(NULL); //初始化OLE/COM库环境
:: CoUninitialize();//既然初始化了环境,当然就有必要释放他了
(2)也可以调用MFC全局函数
AfxOleInit();
3、三大对象的定义和创建实例
(1) _ConnectionPtr pConnection("ADODB.Connection");
_RecordsetPtr pRecordset("ADODB.Recordset");
_CommandPtr pCommand("ADODN.Command");
(2) _ConnectionPtr pConnection;
_RecordsetPtr pRecordset;
_CommandPtr pCommand;
pConnection.CreateInstance(__uuidof(Connection));
pRecordset.CreateInstance(__uuidof(Recordset));
pCommand.CreateInstance(__uuidof(Command));
(3) _ConnectionPtr pConnection;
_RecordsetPtr pRecordset;
_CommandPtr pCommand;
pConnection.CreateInstance("ADODB.Connection");
pRecordset.CreateInstance("ADODB.Recordset");
pCommand.CreateInstance("ADODB.Command");
4、打开一个连接
pConnection->Open(ConnectionString,"","",adModeUnknown);///连接数据库
上面的连接字符串ConnectionString根据不同的数据源,分别对应不同的写法
1)访问Access 2000
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=databaseName;User ID=userName;Password=userPassWord"
2)访问ODBC数据
" Provider=MADASQL;DSN=dsnName;UID=userName;PWD=userPassword;"
3)访问Oracle数据库
“Provider=MSDAORA;Data Sourse=serverName;User ID=userName;Password=userPassword;"
3)访问MS SQL数据库
"Provider=SQLOLEDB,Data Source=serverName;Initial Catalog=databaseName;User ID=userName;Password=userPassword;"
4、执行SQL命令
SQL命令比较多,但是不去考虑细节,这里只说出通用的方法
CString strSQL;//定义SQL命令串,用来保存SQL语句
strSQL.Format("SQL statement");
然后在每个要用到SQL命令串的方法中,使用strSQL.AllocSysString()的方法进行类型转换
5、com的专用数据类型
variant ,bstr ,SafeArray
variant变量的范围包括很多,使用_variant_t 进行管理
bstr是一种字符串变量,使用_bstr_t进行管理
6、关闭连接
if(m_pConnection->State)//不能多次关闭,否则会出现错误
m_pConnection->Close();
7、结构化异常处理
ADO封装了COM接口,所以需要进行错误处理
如下例:
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);///显示错误信息
}
b43ok
2009-06-09
打赏
举报
回复
图形化的控件是没有的,不过有个库可以做ADO
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF")
CoInitialize(NULL);
_ConnectionPtr m_pConnection;
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open("连接字符串","","",adConnectUnspecified);
………………
在
VB
中
利用
ADO
控件
和
ADO
对象访问数据库,在VC
中
利用
ADO
技术访问数据库。
Hook编程。如何安装钩子过程,如何编写全局钩子,动态连接库里的全局变量数据共享问题分析。
ADO
数据库编程。在
VB
中
利用
ADO
控件
和
ADO
对象访问数据库,在VC
中
利用
ADO
技术访问数据库。
Hook编程。如何安装钩子过程,如何编写全局钩子,动态连接库里的全局变量数据共享问题分析。
ADO
数据库编程。在
VB
中
利用
ADO
控件
和
ADO
对象访问数据库,在VC
中
利用
ADO
技术访问数据库。
Hook编程。如何安装钩子过程,如何编写全局钩子,动态连接库里的全局变量数据共享问题分析。
ADO
数据库编程。在
VB
中
利用
ADO
控件
和
ADO
对象访问数据库,在VC
中
利用
ADO
技术访问数据库。
asp表格
控件
,可使用于
VB
.VC
VSFlexGrid Pro是MSFlexGrid的升级,
提供
全部的特征,用于创建灵活、强壮的前端数据库应用程序。用许多新的方法显示、编辑、格式化、组织、汇总和打印列表数据,在您的项目
中
定制动态数据的显示和表达。您能够创建...
依据
VB
自动出题题库系统设计(毕业设计源代码+系统)
缺省情况下,
ADO
控件
根据数据库
中
的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表
中
的容改变了以后,该记录集合
中
的记录也会随之改变。
ADO
控件
...
数据库实例之三
VC6
.0+SQL2008(
ADO
实现)
此版本为采用
ADO
对象(非
控件
)的
VC6
.0+SQL2008版本。解压后将系列之二
VB
+SQL版本
中
的.MDF,.LDF文件放到SQL文件夹,附加数据库,配置ODBC,即可运行。功能有:查询,修改,添加,删除,报表打印等。
数据库
4,011
社区成员
39,816
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章