失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Vc++ 数据库编程

Vc++ 数据库编程

时间:2023-01-10 23:32:28

相关推荐

Vc++ 数据库编程

数据库|mysql教程

Vc++,数据库,编程,欢迎,进入,C++,编程,社区,论坛

数据库-mysql教程

网狐6603商业源码,vscode中如何自动缩进,删除ubuntu efi,tomcat可以启动不了,爬虫DNS优化,网站的php文件怎么下载,南海seo排名优化平台,小说网站源码,dedecms频道封面模板lzw

欢迎进入C/C++编程社区论坛,与300万技术人员互动交流 >>进入 ODBC开放数据库互连(Open Database Connectivity)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库

网址导航php源码,在ubuntu里分区,关闭tomcat端口号命令,网络爬虫scrapy框架,什么人适合做php,seo 基础数据lzw

抽奖源码带后台,vscode调用其他编译器,Ubuntu 无屏幕,tomcat不能访问app,人对爬虫,php排课管理系统,重庆短视频seo优化推广操作lzw

欢迎进入C/C++编程社区论坛,与300万技术人员互动交流 >>进入

ODBC开放数据库互连(Open Database Connectivity)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

ADO (ActiveX Data Objects) 是微软公司的一个用于存取数据源的COM组件。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。ADO被设计来继承微软早期的数据访问对象层,包括RDO (Remote Data Objects) 和DAO(Data Access Objects)。

使用#import方法对ADO进行操作

在#import中,你需要提供所包含的类型库的路径和名称,它能够自动产生一个对GUIDs的定义,同时对自动生成对ADO对象的封装。

还能够列举它在类型库中所能找到的类型,对任何你所引用的类型库,VC++会在编译的时候自动生成两个文件:

一个头文件(.tlh),它包含了列举的类型和对类型库中对象的定义。

一个实现文件(.tli)对类型库对象模型中的方法产生封装。

#import “c:\Program Files\common files\system\ado\msado15.dll” no_namespace rename(“EOF”,”adoEOF”)

/*VC++会自动产生msado15.tlh和msado15.tli两个文件。no_namespace意味着你不需要在初始化变量的时候引用名字空间。对EOF进行该名,是必要的,因为典型的VC++应用都已经定义了EOF作为常数-1*/

CoInitialize(NULL);

/*CoInitialize是 Windows提供的API函数,用来告诉 Windows以单线程的方式创建com对象。参数被保留,且必须为NULL。CoInitialize并不装载COM 库,它只用来初始化当前线程使用什么样的套间。使用这个函数后,线程就和一个套间建立了对应关系,线程在此套间运行。CoInitialize和CoUninitialize必须成对使用。*/

_ConnectionPtr m_pConnection(_uuidof(Connection)); //使用智能指针产生一个连接指针

_RecordsetPtr m_pRecordset(_uuidof(Recordset)); //使用智能指针产生一个记录集指针

try{

m_pConnection->Open(“DSN=Student”,””,””,0);//建立连接,DSN(Data Source Name )是你要连接ODBC数据源的名称

m_pRecordset = m_pConnection->Execute(“select * from Student”,NULL,adCmdText); //执行查询语句

while(!m_pRecordset->adoEOF)

{

_variant_t TheValue; //_variant_t封装并管理VARIANT数据类型,是COM中使用的数据类型,COM是Component Object Model(组件对象模型)

TheValue = m_pRecordset->GetCollect(“Sname”); //获取表中字段为“Sname”的值

m_pRecordset->MoveNext();//移动到下一条记录

}

}catch(_com_error e)

{

AfxMessageBox(e.ErrorMessage());

}

m_pRecordset->Close();

m_pConnection->Close();

m_pRecordset = NULL;

m_pConnection = NULL;

CoUninitialize();

如果觉得《Vc++ 数据库编程》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。