ADO对象之Recordset用法总结:
在ADO程序中,记录集(Recordset)对象代表一个表的记录集合或者是一个SQL命令或存储过程执行结果。简单地说:记录集实际上缓存了从数据库获得的记录,应用程序可以从记录集中获得每条记录的字段。
Recordset对象的常用属性和方法:
RecordCount属性:返回Recordset对象中记录的当前数目
BOF,EOF属性:BOF指示当前记录位置的第一记录的前一个,EOF指示当前记录的最后一个记录的后一个。如果打开没有记录的Recordset对象,则BOF,EOF都为true,如果打开的记录集中包含记录,则BOF,EOF都为false
AbsolutePosition属性:指定Recordset对象当前记录的序号位置
ActiveConnection属性:该属性指定Recordset当前所属的Connection对象。
Open方法定义:
HRESULT Open (const _variant_t &Source,
const _variant_t &ActiveConnection,
enum CursorTypeEnum CursorType,
enum LockTypeEnum LockType,
long Options)
Source参数:为记录源,它可以是下列内容之一:Command对象变量,SQL语句,存储过程,表名或完整的路径名。
ActiveConnection参数:对应于ActiveConnection属性,指定在哪个连接中打开该记录集,常用_ConnectionPtr.GetInfaceterPtr()指定
CursorType参数:指定打开Recordset时使用的游标,它的取值可以是CursorTypeEnum枚举型中的常量,adOpenStatic(静态游标),adOpenDynamic(动态游标),adOpenForwardOnly(默认,前向游标),adOpenKeyset(键集游标).
LockType参数:指定打开记录集时应该使用的锁定类型,LockType取值为LockTypeEnum枚举型的值,它的取值为
adLockReadOnly:默认值,只读:不能改变数据;
adLockPessimistic:保守式锁定(逐个),数据提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录
adLockOptimistic:开发式锁定(逐个),数据提供者使用开放式锁定,只在调用Update()方法时才锁定记录
adLockBattchOptimistic:开发式批更新:用于批更新模式
Options参数:该参数类型为长整型值,它指定参数Source的种类,Options的种类有如下几种:
adCmdText:指示提供者应该将Source作为命令的文本定义来计算
adCmdTable:指示ADO生成SQL查询以便从在Source中命名的表中返回所有行
adCmdTableDirect:指示提供者更改从Source中命名的表中返回所有行
adCmdStoredProc:指示提供者应该将Source视为存储过程
adCmdUnknown:指示Source参数的命令类型为未知。
MoveFirst,MoveLast,MoveNext,MovePrevious方法:这些方法可以对记录集的游标进行移动操作
GetCollect方法:用于取得字段的值,参数Index可以是字符串表明字段名,也可以是整型数,表示字段的序号。
_variant_t GetCollect(const _variant_t &Index);
PutColloct方法:用于向记录字段中写入值,pvar参数表示要写入的变量值
void PutCollect (const _variant_t &Index,const _variant_t &pvar);
AddNew()方法:使用该方法创建和初始化新记录,该方法可以使用参数,在参数中指定要添加的新纪录,也可以不使用参数,而在后面使用PutCollect方法修改新记录,使用Update函数保存新纪录
Update()方法:该方法保存从调用AddNew方法以来或更改现有记录中的任何字段值以来所做的所有更改。
使用记录集的具体方法:
定义_RecordsetPtr型变量,然后通过它调用Recordset对象的Open方法,即可打开一个数据集,然后可以使用GetCollet方法获取记录的字段值,使用Move系列函数实现记录集的遍历,最后关闭记录集。
使用集合Fields获取字段值
_variant_t var=pRecordset->Fields->GetItem(long(0))->GetValue();
ADO对象之Recordset用法总结:相关推荐
- 应用程序利用ADO对象访问数据库
1.已创建MySQL数据库employeedb,数据库中有如下所示的employeetb表. 2.在使用ADO对象之前,必须在工程的Stdafx.h文件里用直接引入符号#import引入 ADO库文件 ...
- python datetime.date 和数据库date_Python成为专业人士笔记-date 对象、time 对象及datetime用法深度剖析...
"专业人士笔记"系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.zhihu.com 将字符串解析为对应时区的datetime对象 ...
- C++对象数组与对象指针的用法【C++初学面向对象编程】
文章目录 一.对象数组 二.对象指针 一.对象数组 1.概念 对象数组本质上就是:数组中每一个元素都是同一个类的对象. //定义对象数组(装有3个对象的数组) Box aa[3]={Box(1, 1, ...
- easy excel date 类型解析报错_Python成为专业人士笔记-date 对象、time 对象及datetime用法深度剖析...
"专业人士笔记"系列目录: 创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.zhihu.com 将字符串解析为对应时区的datetime对象 ...
- Request对象的一般用法
Request是HttpRequest的派生类,主要的工作是从客户端获取信息,包括浏览器的种类,用户输入表单中的数据,Cookies中的数据和客户端认证等.在说Request对象的具体用法之前,先来说 ...
- java ado recordset_ADO之Recordset对象用法
本文摘自:https://blog.csdn.net/hfchenle/article/details/51832973 在ADO程序中,记录集(Recordset)对象代表一个表的记录集合或者是一个 ...
- ADO 对象的游标类型(CursorTypeEnum)游标位置(CursorLocation)锁定方法(LockTypeEnum)的超详解析以及使用方法
1.首先什么是游标? 这里引用微软官方的ADO API中的一段话来解释(机器翻译太烂,添加个人翻译) 关系数据库中的操作会对整个行集起作用. 由 SELECT 语句返回的行集包括满足该语句的 WHER ...
- java 远程共享_【原创】(扫盲)远程共享对象SharedObject的用法
学习fcs也有差不多一个月了,感觉最有特色的东西还是SharedObject. 今天就写个基本的教程关于它,第一次写教程(以前都是看教程-_-),手心都出汗了,心怕写得有错误导读者就惨了 , 斑竹有空 ...
- flashcom中远程共享对象SharedObject的用法
觉得这篇文章比较好,转载回来. 学习fcs也有差不多一个月了,感觉最有特色的东西还是SharedObject. SharedObject有不少东西,本地操作就不说了(相信很多人没接触fcs也用过);就 ...
最新文章
- python asyncio与aiohttp_python链家网异步IO爬虫,使用asyncio、aiohttp和aiomysql
- 记一次递归在我项目中所发挥的作用
- WCF系列学习笔记4之绑定详解
- redis——Redis中的LRU算法改进
- 谷歌 | 多任务学习,如何挑选有效的辅助任务?只需一个公式!
- linux网卡为啥叫ens160这些,centos8将网卡名ens160修改为eth0
- matlab 支撑集,基于OMP算法的快速压缩感知图像重构
- [置顶] 高效前端优化工具--Fiddler入门教程
- java工程师考华为证有用吗_华为初级认证网络工程师有什么用?大学生适合考吗?...
- imagenet标签
- 华为eSight网络监控平台配置短信功能说明
- uniapp实现微信公众号登录获取openid
- sdlc esd oracle,SDLC-PCIE高速同步串口卡
- win服务器系统无法切换输入法,Win8系统无法切换输入法如何解决?
- “阿里/字节“大厂自动化测试面试题一般会问什么?以及技巧和答案
- OSWE 尾篇 考试的方法论
- 笔记|角度传感器angular transducer
- RealDWG加载DWG文件
- java.io.IOException: Response data error, expect Throwable, but get null
- AT91SAM926x开发全流程