C# Powershell数据表一行计数为0
我有一个powershell脚本,在其中我将SQL Select加载到数据表中 当我将查询设置为仅返回1行时,在执行DataTable.Rows.Count之后,它将打印0行 当我将查询设置为返回2行时,然后执行DataTable.rows.Count,打印2行 我可以看到我的DataTable中有0行的数据,因为我可以 我的数据表上有一个循环。所以它仍然得到数据,只是打印0 那么为什么我的计数是0加1行呢 如果我在C中创建一个简单的数据表并添加1行。它是1 动力壳 CC# 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
请检查$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-你可以选择投票来结束你自己的问题,因为它是一个打字错误。很高兴能让我们知道问题出在哪里。人们确实会花时间去帮助别人,得到结果是件好事。