Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试返回“选择计数(Id)”时System.IndexOutOfRangeException_C#_Asp.net_Sql Server - Fatal编程技术网

C# 尝试返回“选择计数(Id)”时System.IndexOutOfRangeException

C# 尝试返回“选择计数(Id)”时System.IndexOutOfRangeException,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我试着查找这个问题,但没有其他问题真正合适。我有一个网页,我将显示分析。一个统计数据是用户总数,我试图获取sql数据库中用户表中的行总数。我原以为Id是int,但似乎是varchar128。我将包括错误和代码。谢谢 System.Data.dll中出现“System.IndexOutOfRangeException”类型的异常,但未在用户代码中处理 我认为问题在于,您从SQL中获得的列名不是您所期望的。我相信下面对代码的更改将解决这个问题 const string sqlText = @" SE

我试着查找这个问题,但没有其他问题真正合适。我有一个网页,我将显示分析。一个统计数据是用户总数,我试图获取sql数据库中用户表中的行总数。我原以为Id是int,但似乎是varchar128。我将包括错误和代码。谢谢

System.Data.dll中出现“System.IndexOutOfRangeException”类型的异常,但未在用户代码中处理


我认为问题在于,您从SQL中获得的列名不是您所期望的。我相信下面对代码的更改将解决这个问题

const string sqlText = @"
SELECT COUNT(Id) AS Id
FROM AspNetUsers
             ";

我认为问题在于,您从SQL中获得的列名不是您所期望的。我相信下面对代码的更改将解决这个问题

const string sqlText = @"
SELECT COUNT(Id) AS Id
FROM AspNetUsers
             ";

IndexOutOfRangeException表示没有Id列返回给SqlDataReader

解决问题的第一步可能是发现实际返回的列。下面是一个如何执行此操作的示例:

IndexOutOfRangeException表示没有Id列返回给SqlDataReader

解决问题的第一步可能是发现实际返回的列。下面是一个如何执行此操作的示例:
您的错误来自以下行:

 UserCount = DBUtils.GetValue<string>(sdr["Id"]);
因为您的查询没有返回Id为的字段

最简单的修复方法是:

UserCount = DBUtils.GetValue<string>(sdr[0]).Tostring();

您的错误来自以下行:

 UserCount = DBUtils.GetValue<string>(sdr["Id"]);
因为您的查询没有返回Id为的字段

最简单的修复方法是:

UserCount = DBUtils.GetValue<string>(sdr[0]).Tostring();

您可以将sdr[Id]更改为sdr[0]或向countId添加别名,因为没有以Id作为名称返回的列。您可以将sdr[Id]更改为sdr[0]或向countId添加别名,因为没有以Id作为名称返回的列