fisistew
Goto Top

SQL Abfrageergebnis in eine Variable bringen?

Hallo zusammen,

ich stehe mal wieder auf dem Schlauch :D
Ich habe eine SQL Query Abfrage die auch so funktioniert. Allerdings möchte ich das Ergebnis der Abfrage in $Ergebnis bringen. Ich weiß leider nicht, wo und wie ich das einbauen muss face-sad


$sqlConn = New-Object System.Data.SqlClient.SqlConnection
$sqlConn.ConnectionString = “Server=Servername;Integrated Security=true;Initial Catalog=Database”
$sqlConn.Open()
$sqlcmd = New-Object System.Data.SqlClient.SqlCommand
$sqlcmd.Connection = $sqlConn
$query = “select count (*)
from Database.tblIdentityCalculation ic
where ic.IsCurrent = 0

$sqlcmd.CommandText = $query
$adp = New-Object System.Data.SqlClient.SqlDataAdapter $sqlcmd
$data = New-Object System.Data.DataSet
$adp.Fill($data) | Out-Null
$data.Tables
$SqlConn.Close()


Vielen Dank im voraus!

VG

Content-ID: 366599

Url: https://administrator.de/contentid/366599

Ausgedruckt am: 25.11.2024 um 02:11 Uhr

AndreasHoster
Lösung AndreasHoster 01.03.2018 um 13:43:46 Uhr
Goto Top
Du gibt's die Daten aus der Abfrage ja schon aus in Zeile
$data.Tables

Da sollte es doch nicht so schwierig sein es in eine Variable abzuspeichern.

Aber mal Schritt für Schritt:
$data.Tables enthält alle Zeilen des Ergebnisses.
Die Abfrage gibt nur eine Zeile zurück, wir brauchen also nur die erste Zeile:
$data.Tables.Rows
Die Abfrage gibt auch nur eine Spalte zurück, wir brauchen also nur das Ergebnis der ersten Spalte:
$data.Tables.Rows.Item(0)
Und die Zuweisung in eine Variable:
$Ergebnis=$data.Tables.Rows.Item(0)

P.S.: Falls Du Deine SQL Abfrage so geschrieben hättest, das die Spalte einen Namen gehabt hätte, wäre auch sowas gegangen:
$data.Tables.Rows.Name_Der_Spalte
FISIStew
FISIStew 01.03.2018 um 13:53:55 Uhr
Goto Top
Hallo AndreasHoster,

vielen herzlichen Dank für die ausführliche Beschreibung! face-smile
Das ist genau, was ich gesucht habe. Ich bin noch sehr unerfahren mit Powershell, aber ich lerne jeden Tag hinzu.
Einen schönen Tag wünsche ich Dir noch!

VG
FISIStew
FISIStew 01.03.2018 um 13:58:54 Uhr
Goto Top
Achso, ich benötige nur den Wert ohne Tabelle . Diesen Wert schreibe ich via LogOut "Aktueller Stand: $Ergebnis" in eine LogFile und in die Console.

VG