![](/img/trans.png)
[英]In rails, why is my finder method only returning one result when I want it to return all of them?
[英]Why is this powershell code only returning one result when I have multiple results?
我正在通過Powershell運行查詢。 我知道通過ssms運行查詢有多個結果。 為什么變量在Powershell中只有一個結果?
我使用了許多方法來執行此查詢,但最終使它正常工作,但無法獲得查詢的所有結果。
[string] $Server= "mochqdb01";
[string] $Database = "MoCApp.Models.Item+ItemDBContext";
[string] $SQLQuery= $("Select smEmail from Items where DateRequested >= dateadd(day,datediff(day,1,GETDATE()),0)");
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=$Server;Database=$Database;Integrated Security=True"
$SqlConnection.Open()
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SQLQuery
$SqlCmd.Connection = $SqlConnection
$dbname = $SqlCmd.ExecuteScalar()
$SqlConnection.Close()
Write-output "Database is " $dbname
輸出:數據庫為Franziew@marketyyo.com
應該有多個結果。 我應該保存到數組中嗎?
我實際上想將結果保存為這種格式。
Send-ToEmail-電子郵件“ js@marketyyo.com”,“ mb@marketyyo.com”;這可能嗎?
ExecuteScalar()返回第一個結果集的第一行的第一列。 您需要ExecuteReader() 。 例如
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=$Server;Database=$Database;Integrated Security=True"
$SqlConnection.Open()
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SQLQuery
$SqlCmd.Connection = $SqlConnection
$rdr = $SqlCmd.ExecuteReader()
while ($rdr.Read())
{
$smMail = $rdr[0]
write-output "email is $smMail"
}
$rdr.Close()
$SqlConnection.Close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.