Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.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# Powershell数据表一行计数为0_C#_Powershell_Datatable - Fatal编程技术网

C# Powershell数据表一行计数为0

C# Powershell数据表一行计数为0,c#,powershell,datatable,C#,Powershell,Datatable,我有一个powershell脚本,在其中我将SQL Select加载到数据表中 当我将查询设置为仅返回1行时,在执行DataTable.Rows.Count之后,它将打印0行 当我将查询设置为返回2行时,然后执行DataTable.rows.Count,打印2行 我可以看到我的DataTable中有0行的数据,因为我可以 我的数据表上有一个循环。所以它仍然得到数据,只是打印0 那么为什么我的计数是0加1行呢 如果我在C中创建一个简单的数据表并添加1行。它是1 动力壳 C 请检查$resultsD

我有一个powershell脚本,在其中我将SQL Select加载到数据表中

当我将查询设置为仅返回1行时,在执行DataTable.Rows.Count之后,它将打印0行

当我将查询设置为返回2行时,然后执行DataTable.rows.Count,打印2行

我可以看到我的DataTable中有0行的数据,因为我可以 我的数据表上有一个循环。所以它仍然得到数据,只是打印0

那么为什么我的计数是0加1行呢

如果我在C中创建一个简单的数据表并添加1行。它是1

动力壳

C


请检查$resultsDataTable的类型

Write-Host $resultsDataTable.GetType()
我也有类似的问题,当只返回一行时,Powershell似乎会将对象的类型更改为System.Data.DataRow

类型更改发生在函数返回对象之后。在示例中的函数ExecuteSqlQuery中,它仍然是System.Data.DataTable

Write-Host $resultsDataTable.GetType()
另外,您对$resultsDataTable的声明

$resultsDataTable = New-Object System.Data.DataTable

没有必要,因为当您从ExecuteSqlQuery函数返回结果时,这个新创建的对象几乎会立即在脚本的下一行被覆盖。

请检查$resultsDataTable的类型

Write-Host $resultsDataTable.GetType()
我也有类似的问题,当只返回一行时,Powershell似乎会将对象的类型更改为System.Data.DataRow

类型更改发生在函数返回对象之后。在示例中的函数ExecuteSqlQuery中,它仍然是System.Data.DataTable

Write-Host $resultsDataTable.GetType()
另外,您对$resultsDataTable的声明

$resultsDataTable = New-Object System.Data.DataTable

是不必要的,因为当您从ExecuteSqlQuery函数返回结果时,这个新创建的对象几乎会立即在脚本的下一行被覆盖。

当您得到1行时,您也会得到标题行。@jdweng但这并不能解决为什么有1行的i计数为0的问题?关于相关的行没有太多信息表、查询和输出数据。无论如何,如果您的表中有Count列,可能会解释发生了什么。Try:@$resultsDataTable.Rows.Count。@iRon您还需要什么信息?输出是什么以及查询如何都无关紧要。我得到了我想要的结果,我只是不明白为什么它这么重要。@SqlKindaGuy-你可以选择投票来结束你自己的问题,因为它是一个打字错误。很高兴能让我们知道问题出在哪里。人们确实会花时间提供帮助,得到结果也很好。当你得到1行时,你也会得到标题行。@jdweng但这并不能解决为什么我用1行计算0?有关相关表、查询和输出数据的信息不多。无论如何,如果您的表中有Count列,可能会解释发生了什么。Try:@$resultsDataTable.Rows.Count。@iRon您还需要什么信息?输出是什么以及查询如何都无关紧要。我得到了我想要的结果,我只是不明白为什么它这么重要。@SqlKindaGuy-你可以选择投票来结束你自己的问题,因为它是一个打字错误。很高兴能让我们知道问题出在哪里。人们确实会花时间去帮助别人,得到结果是件好事。