使用PowerShell操作DataTable时获取指定行数据无返回值问题咨询
问题原因
- 索引起始规则问题:.NET 中的
System.Data.DataTable行集合是0基索引,也就是第一行数据对应的索引是0而非1。你执行的查询语句SELECT COUNT(*)本身只会返回1行统计结果,所以$dt.Rows.Count返回1是完全正常的,合法索引只有0,访问Rows[1]属于超出索引范围,自然没有返回值。 - CSV行号对应错配:你导出CSV后在Excel中看到的两行内容,第一行(A1单元格的1)是CSV默认输出的表头(也就是查询语句没有指定别名时,DB2返回的默认列名
1),第二行(A2单元格的2)才是DataTable中实际存储的业务数据行,所以DataTable本身确实只有1行有效数据,和Count返回结果一致。
解决方式
直接访问0索引对应的行即可拿到你需要的数值2:
echo $dt.Rows[0].Column0
如果不确定列名,可以先输出所有列名确认:
$dt.Columns | Select-Object ColumnName
内容的提问来源于stack exchange,提问作者Configueroa
相关产品推荐
相关产品推荐

