获取 Recordset 对象中的记录数
2008-04-15 21:13
232 查看
在 ADO 中,用 Recordset 对象的 Open 方法打开记录集后,就可以用 GetRecordCount 方法获取记录数。
代码如下:
CString strSQL = "SELECT * FROM authors";
_RecordsetPtr pRs = NULL;
pRs.CreateInstance("ADODB.Recordset");
long nRecordCount = 0;
try
...{
pRs->Open( _variant_t(strSQL),
m_pConnection.GetInterfacePtr(),
adOpenStatic,
adLockOptimistic,
adCmdText);
nRecordCount = pRs->GetRecordCount();
pRs->Close();
}
catch ( _com_error &e )
...{
MessageBox( e.Description() );
}
CString strRecordCount;
strRecordCount.Format( "RecordCount: %d" , nRecordCount );
MessageBox( strRecordCount );
注意:
在用 Open 方法打开记录集时使用了 adOpenStatic 游标;如果使用 adOpenDynamic 游标,GetRecordCount 方法将返回 -1 。
我的看法:
使用静态游标时,数据已经被取到了本地内存中,所以可以知道记录数;
而使用动态游标时,只有移动到记录集结尾时才能统计出记录数,所以刚打开记录集时返回 -1 。
结尾:
如果以上短文帮你解决了问题,请回帖帮顶!
杭州,至尊宝宝
代码如下:
CString strSQL = "SELECT * FROM authors";
_RecordsetPtr pRs = NULL;
pRs.CreateInstance("ADODB.Recordset");
long nRecordCount = 0;
try
...{
pRs->Open( _variant_t(strSQL),
m_pConnection.GetInterfacePtr(),
adOpenStatic,
adLockOptimistic,
adCmdText);
nRecordCount = pRs->GetRecordCount();
pRs->Close();
}
catch ( _com_error &e )
...{
MessageBox( e.Description() );
}
CString strRecordCount;
strRecordCount.Format( "RecordCount: %d" , nRecordCount );
MessageBox( strRecordCount );
注意:
在用 Open 方法打开记录集时使用了 adOpenStatic 游标;如果使用 adOpenDynamic 游标,GetRecordCount 方法将返回 -1 。
我的看法:
使用静态游标时,数据已经被取到了本地内存中,所以可以知道记录数;
而使用动态游标时,只有移动到记录集结尾时才能统计出记录数,所以刚打开记录集时返回 -1 。
结尾:
如果以上短文帮你解决了问题,请回帖帮顶!
杭州,至尊宝宝
相关文章推荐
- ADO访问数据库获取 Recordset 对象中的记录数
- 获取 Recordset 对象中的记录数 C++
- 日常记录--获取对象的所有属性
- VC中用ADO记录集对象,获取某个表的记录总数!...
- 转载 ---- 【Unity3D自学记录】代码获取隐藏游戏对象
- 统说ado对象游标类型(Connection,RecordSet)以及显示数据记录的三板斧
- 日常问题记录--jsp页面获取struts2对象时为空的原因
- 数据库:统说ado对象游标类型(Connection,RecordSet)以及显示数据记录的三板斧
- 实现CADOConn类的获取记录集数函数: UINT GetRecordsetCount(_RecordsetPtr pRecordset)
- 实现CADOConn类的获取记录集数函数: UINT GetRecordsetCount(_RecordsetPtr pRecordset)
- 【Unity3D自学记录】代码获取隐藏游戏对象
- jQuery学习记录(三):使用jQuery选择器获取网页中的元素、对象及子对象
- 获取对象属性和值 日志记录
- 统说ado对象游标类型(Connection,RecordSet)以及显示数据记录的三板斧
- VC中用ADO记录集对象,获取某个表的记录总数!...
- 查找ado.Recordset 对象的记录总数
- Android获取通话记录
- C# 使用Nlog记录日志到数据库 使用LogEventInfo类获取,命名空间名称、类名、方法名
- struts从页面获取日期对象的方法
- 创建DDL触发器捕捉schema所有对象改变的记录