首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >属性HasRows是否可用于iDataReader?

属性HasRows是否可用于iDataReader?
EN

Stack Overflow用户
提问于 2019-01-04 05:30:54
回答 1查看 124关注 0票数 0

我之所以提出上述问题,是因为我在QuickWatch窗口中看到了一些属性HasRows。

我正在修改别人的代码,需要遵循已建立的模式。我必须查询SQL Server表以从配置表中检索行,并决定首先在测试控制台应用程序中对其进行编码。我还决定使用SQLClient类型,并使用属性HasRows:

代码语言:javascript
复制
....
using (SqlDataReader rdr = cmd.ExecuteReader())
{
    if (rdr.HasRows)
    {
      ....

当我将代码移到另一个项目时,我注意到使用了IDataReader,而且智能感知说HasRows属性不可用,所以我使用了while循环,尽管我只有一行返回:

代码语言:javascript
复制
....
using (IDataReader rdr = cmd.ExecuteReader())
{
   while (rdr.Read())
   {
      ....

但是,当我在IDataReader rdr上执行快速查看时,我看到了HasRows属性!

那么,我可以轻松地访问IDataReader的HasRows属性吗?如果它真的存在呢?

EN

回答 1

Stack Overflow用户

发布于 2019-03-29 19:04:45

不,不能。HasRowsDbDataReader的抽象方法,IDataReader没有它。尽管如此,DbDataReader实现了IDataReader,它是在DbDataReader内部实现的,而不是在接口本身中实现的。

在代码中使用DbDataReader而不是接口。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54030071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档