本篇文章给大家分享的是有关实现ADO.NET记录集获取记录数量的方法是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
成都创新互联公司服务项目包括昭化网站建设、昭化网站制作、昭化网页制作以及昭化网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,昭化网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到昭化省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
VC使用ADO技术访问数据表,打开数据表后,获得了ADO记录集,如何获得记录数量?一个小问题,没想到还有点意思,实践完成,总结一下。
方法一、用静态、键集游标方式打开数据表
p_hr = m_pRecordset->Open(_variant_t(bstrQuery),vNull,adOpenStatic,adLockOptimistic,adCmdText);
然后用GetRecordCount()函数,即可获得记录数量。
m_pRecordset->GetRecordCount();
谈谈ADO.NET数据库连接池创建和分配
剖析ADO.NET使用DataAdapter类
简单实用的ADO.NET实体框架详解
浅析ADO.NET实体数据访问和更改
老鸟归纳ADO.NET实体框架功能
另外用键集游标方式也可以获得,adOpenKeyset (键集游标),但是用adOpenDynamic (动态游标)方式,就只会返回-1。多个用户都使用同一张表,且对其进行修改的可能都很大,则***使用adOpenKeyset。如只是浏览, 使用adOpenStatic 可提高性能! 补充:adOpenStatic 静态游标 , 其它用户的修改对当前用户是不可见的. adOpenDynamic 动态游标 , 所有的修改对当前用户是见的. adOpenKeyset 是前两种的折衷 , 改对当前用户是见的. 但性能是***的.
方法二、用SQL语句实现
“select count(*) from 表名;”,这样就不用关心游标的方式了。
例子如下:
rs->Open("select COUNT(*) from tbUsersInfo",strCnn, adOpenKeyset,adLockOptimistic,adCmdText); long RecordCount; RecordCount=rs->Fields->GetItem((long)0)->GetValue();
还有一个例子:
m_pRecordset = m_pConnection->Execute("SELECT COUNT(*) FROM 表名",&RecordsAffected,adCmdText); _variant_t vIndex = (long)0; _variant_t vCount = m_pRecordset->GetCollect(vIndex); CString message; message.Format("共有%d条记录",vCount.lVal); AfxMessageBox(message);
补充:
先将ADO记录集的
CursorLocation = adUseClient;
然后就可以了,总之感觉很意思,一个小问题,却有几种不同的解决方法,而且对于不同的数据库,还有点不一样。
以上就是实现ADO.NET记录集获取记录数量的方法是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。
文章标题:实现ADO.NET记录集获取记录数量的方法是什么
网站地址:http://lswzjz.com/article/jchhhp.html