预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

ADO数据库编程 --千年狐 学了几天ADO数据库编程,今天就写一下总结,出个教程,也算作是ADO数据库编程 的学习先告一段落吧 1环境 系统是win764位,数据库是SQLServer2000,编译器是VisualStudio2008 PS:SQLServer2000在win764位系统上比较难安装。小编由于初学ADO数据库编程, 所以查了几本书才决定装SQLServer2000,不过费了比较大的劲。 小编建议大家在配置系统时先安装SQLServer,然后安装VisualStudio。因为SQLServer 安装过程中会检测系统有没有安装VS。如果已经安装了VS,但VS的版本不符SQLServer 的要求的话,SQLServer会安装失败滴。 初入VC编程的童鞋,可以用安装一款编程辅助软件,推荐VisualAssistX 2ADO技术介绍 这里简单的说一下ADO的一些东西。很多书本上都有这些东西,这里灰常谢谢《Visual C++应用开发》青岛东合信息技术有限公司编著电子工业出版社。这本书有比较清晰的介绍, 对入门来说可以作为参考书籍。(PS:小编在学习的过程中是拿着两本书学习的,现在C++ 开发类的书比较多,所以内容详实、偏向都不一样,学习的时候多看几本书,获取大家所需 的啦) 2.1ADO核心对象 ADO中和数据库操作相关的对象主要有:连接对象(Connection)、命令对象(Command)、 参数对象(Parameter)、记录集对象(Recordset)、字段对象(Field)、错误对象(Error)、 属性对象(Property)。这么多对象……小编只接触到了中间的三个~: (1)连接对象(Connection):管理应用程序和数据库之间的通信; (2)命令对象(Command):该对象是对数据库执行命令的定义; (3)记录集对象(Recordset):如果执行的命令是查询并返回存放在表中的结果集,那么 这些结果集将保存在一个Recordset对象中。通过Recordset对象可以操纵来自数 据提供者的数据,包括修改、更新行、插入和删除行。 以上三个对象,在VC程序中分别对应三个ADO指针:_ConnectionPtr、_CommandPtr 和_RecordserPtr,使用这三个指针及相应对象的属性和方法即可以进行数据库应用程序开发。 也就是说,要用上面的三个指针定义三个指针对象: //记录对象 _RecordsetPtrm_pRs; //命令对象 _CommandPtrm_PCmd; //连接对象 _ConnectionPtrm_pConnection; 2.2ADO编程步骤 在VC中使用ADO开发数据库应用程序的常见步骤如下: (1)导入ADO库 (2)初始化OLE/COM库 (3)利用Connection对象连接数据库(_ConnectionPtrm_pConnection) (4)利用建立好的连接,通过Connection、Command对象执行SQL命令,或者利 用Recordset对象取得结果集进行查询和处理 2.3_variant_t数据类型 ADO基于COM,在COM库中近程使用到_variant_t类型。该类型是一个继承自结构体 tagVARIANT的类型,tagVARIANT结构体其实是多种数据类型的联合。从编程角度看, __tagVARIANT结构体是一种万能的数据类型,可以用来存储各种类型的数据。 __tagVARIANT结构中常用的成员如表2.1 成员说明 vt该值与VT_NULL相比较,可以判断变量是否为空 bstrVal存储BSTR型数据 cVal存储CHAR型数据 boolVal存储布尔型数据 intVal存储整型数据 dblVal存储double型数据 表2.1中的几个成员,小编只用到了其中的vt和bstrVal,前者是用来判断从记录集 (_RecordsetPtrm_pRs)对象处获取的数据是否为空,后者用来将从记录集获取的数据转为字符 串型,如CString型,使用方法很简单,如下: _variant_tvValue; CStringstrTemp; if(vValue.vt!=VT_NULL)//如果vValue中的值不为空 strTemp=vValue.bstrVal;//将vValue的值取BSTR型数据,并赋值给 //strTemp 2.4_bstr_t数据类型 _bstr_t是COM库中的一个类,其封装了BSTR数据类型,而BSTR是COM库中用来表 示Unicode编码的字符串。 PS:小编对_variant_t和_bstr_t两种数据类型不是很了解,在获取数据库中数据时,这 两个类型用来暂存和转换数据的,相当于一个中间变量。