Ich bekomme verschiedene Fehler beim Abrufen von Daten aus Datentabelle. Hier ist mein Code Datentabelle zu füllen:wie Datatabelle in Powershell durchlaufen?
$dt = New-Object System.Data.DataTable
$dt.Columns.Add("ServiceName")
$dt.Columns.Add("HostName")
$SQLConnection.Open()
$Reader = $SqlCmd.ExecuteReader()
while ($Reader.Read()) {
$dt.Rows.Add($Reader.GetValue(0), $Reader.GetValue(1))
}
$SqlConnection.Close()
return $dt
Above Code in eine Funktion ist, die Datentabelle zurückgibt und wenn ich auf diese zurückDatenTabelle in Aufruf Skript, das ich die Daten nicht erhalten.
Script zu holen Daten in jeder Zeile:
foreach ($Row in $BackupData) {
Write-Host "$Row[0]"
Write-Host "$Row[1]"
}
ich eine Ausgabe wie immer bin:
ServiceName[0] HostName[0] System.Data.DataRow[0] System.Data.DataRow[0] System.Data.DataRow[0] System.Data.DataRow[0]
Und wenn ich "$($Row[0])"
verwende ich einen Einen Fehler
nicht in der Lage zu indizieren ein Objekt vom Typ system.Data.DataColumn
Wie kann ich die Daten jeder Zeile und Spalte abrufen?
Wie wäre es nur '$ BackupData' oder '$ BackupData | Format-Tabelle -AutoSize'? –
foreach ($ row in $ dt) \t { \t \t write-host $ row [0] \t \t write-host $ row [1] \t} Dies funktioniert, wenn dies in der Funktion, wo die gespeicherten Daten ist, gefüllt, funktioniert aber nicht mit derselben Datentabelle, die von dieser Funktion zurückgegeben wird. – nectar
Welche Version von SQL verwenden Sie? Es wird ein "PSNapin" oder "Modul" geben, das das viel einfacher machen kann. – gms0ulman