我试图编写一个查询MySQL数据库的PowerShell脚本,存储结果,然后为每一行执行一个命令。在这种情况下,它最终会通过电子邮件发送报告,但在我到达那里之前出现了这个问题。

表似乎存储正常,并且一个非常简单的ForEach-Object循环返回我所期望的,但是当我尝试使循环更加复杂时,第一行是空的。虽然我可以在这个特定的案例中解决它,但我试图理解它为什么会发生并且短缺。

这是构建查询的函数(取自https://vwiki.co.uk/MySQL_and_PowerShell):

function Execute-MySQLQuery([string]$query) {

$cmd = New-Object MySql.Data.MySqlClient.MySqlCommand($query, $conn) # Create SQL command

$dataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($cmd) # Create data adapter from query command

$dataSet = New-Object System.Data.DataSet # Create dataset

$dataAdapter.Fill($dataSet, "data") # Fill dataset from data adapter, with name "data"

$cmd.Dispose()

return $dataSet.Tables["data"] # Returns an array of results

}这在这里被称为:

# Connect to MySQL Database

$conn = Connect-MySQL $user $pass $MySQLHost $database $certfile $certpass

$query = "SELECT * FROM reports;"

$result = Execute-MySQLQuery $query

$result | Format-Table并完全返回这个:

PS C:\Users\redacted> C:\Users\redacted\Desktop\tmp\testsql.ps1

5

rep_id email_add1 user sent_success

------ ---------- ---- ------------

1 Jimbo@example.com Jim Johnson 1

2 John@example.com John Doe 1

3 Stacy@example.com Stacy Something 0

4 bgates@microsoft.com Willy Gates 1

5 pallen@microsoft.com Paul Allen 0但是,当我尝试在ForEach-Object循环中仅使用这一列时,我得到一个空白行。出于测试目的,我尝试了一个非常基本

$result | ForEach-Object {$_.user}其中返回的预期:

PS C:\Users\redacted> C:\Users\redacted\Desktop\tmp\testsql.ps1

Jim Johnson

John Doe

Stacy Something

Willy Gates

Paul Allen但只要我比这更复杂:

$result | ForEach-Object {"Howdy $($_.user)!"}我得到:

PS C:\Users\redacted> C:\Users\redacted\Desktop\tmp\testsql.ps1

Howdy !

Howdy Jim Johnson!

Howdy John Doe!

Howdy Stacy Something!

Howdy Willy Gates!

Howdy Paul Allen!我错过了明显的东西吗?我(显然)仍然在学习,但我发现这个问题比其他人更难。也许我只是使用了错误的条款,但我真的很感谢任何能指引我朝着正确方向的人。谢谢。

mysql用foreach遍历,ForEach-Object循环遍历MySql DataTable第一行空白相关推荐

  1. java 遍历对象_java中some(),every()循环遍历,Object.getOwnPropertyNames()遍历对象的属性...

    由于java知识的应用具有一定的广泛性,所以它经常会应用到我们的日常使用当中.那么今天就为大家介绍一下java中some(),every()循环遍历,Object.getOwnPropertyName ...

  2. 【Groovy】集合遍历 ( 使用 for 循环遍历集合 | 使用集合的 each 方法遍历集合 | 集合的 each 方法返回值分析 )

    文章目录 一.使用 for 循环遍历集合 二.使用 each 方法遍历集合 三.集合的 each 方法返回值分析 四.完整代码示例 一.使用 for 循环遍历集合 使用 for 循环 , 遍历集合 , ...

  3. java 循环遍历嵌套map_java循环遍历map的方法

    //java HashMap 循环遍历map的方法 import java.util.ArrayList; import java.util.HashMap; import java.util.Ite ...

  4. java循环遍历_JAVA中循环遍历list有三种方式

    转自:https://blog.csdn.net/changjizhi1212/article/details/81036509 JAVA中循环遍历list有三种方式for循环.增强for循环(也就是 ...

  5. Python —— 列表的while循环遍历 、for循环遍历

    遍历通俗理解就是按顺序依次访问到序列当中的每一个数据,这个操作即叫遍历.比如这里有个需求,需求内容是:依次打印列表中的各个数据.这个遍历的程序用while循环或者for循环就能完成. 一.while循 ...

  6. 递归遍历与for循环遍历:递归遍历实现、理解简单

    1.想法来源:力扣题14- I. 剪绳子 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m.n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m ...

  7. layui循环遍历数据_layuiAdmin循环遍历展示商品图片列表的方法

    主页面内容 新增 {{# layui.each(d.list, function(index, item){ }} {{# if(item.cover_img == ""){ }} ...

  8. 对象object循环遍历的方法

    方法一:  用.each的方式进行循环,.each的方式进行循环,.each()可以遍历数组和对象 var data = { "李慧慧":145000,"安杰" ...

  9. mysql php遍历数据6_PHP 循环遍历数据里中的内容

    看起来你是想实现一个迭代器. class InfiniteLoop implements Iterator { private $position = 0; private $array = arra ...

  10. java遍历变量_java – 循环遍历众多变量

    像这样初始化它们: TextView[] tv = new TextView[48]; 然后你可以使用for循环在其中设置文本,如下所示: for(int i=0; i<48; i++) { t ...

最新文章

  1. 解决Putty中左边 alt+b 不工作的问题
  2. /etc/profile 和 ~/.profile 区别是全部用户,和单一用户
  3. 去培训机构参加IT培训值不值
  4. 1003 阶乘后面0的数量
  5. iOS开发UI篇-在UItableview中实现加载更多功能
  6. 大分区表高并发性能提升100倍?阿里云 RDS PostgreSQL 12 解读
  7. redis docker安装、进入命令行后启动服务
  8. Gerrit代码Review入门实战 1
  9. 用Word2007写Blog
  10. mc1.8.1怎么局域网java_同一台电脑同时装jdk1.8和jdk1.7
  11. hibernate教程笔记8
  12. c++\MFC测试代码的运行时间
  13. 第十二届蓝桥杯大赛软件赛省赛 Python 大学 A 组 部分试题与解析
  14. 阿里企业邮箱服务器配置
  15. DepthPano-TOG2020 学习整理(一)——有关全景图的三维场景重建
  16. CSS实现首行缩进和悬挂缩进
  17. [转载](asp.net大型项目实践)
  18. 上海数据交易中心成立 全国多地力推大数据产业
  19. 爬取全国大学校徽合集批量制作队牌
  20. 用计算机怎么更改进位制,计算机中的进位制,8421法是怎么转换的啊,求解

热门文章

  1. 2021全球国际化大学排名出炉,这所中国高校喜提世界第一!
  2. 读博天赋更重要还是努力更重要?
  3. 想要配置文件生效 需要通过添加到web.xml加载到内存中
  4. C#窗体控件简介ListBox
  5. 【linux系统学习笔记】Ubuntu文本界面和图像界面的切换
  6. 【GDB调试学习笔记】GDB调试入门
  7. 【OpenCV学习笔记】【函数学习】十六(Rect参数介绍)
  8. 《机器学习Python实践》第7章——数据可视化
  9. 使用高斯金字塔和拉普拉斯金字塔重构图像(matlab代码)
  10. python实用模块(持续更新)