来自PowerShell的.Net SQL Server查询



所以我有这个连接

$connectionString = "Data Source=Something ;Initial Catalog=Something ;Integrated Security=SSPI" 
$connection = New-Object -TypeName System.Data.SqlClient.SqlConnection($connectionString)
$query = "select MAX(ID) from [dbo].[Table];" 
$command = New-Object -TypeName System.Data.SqlClient.SqlCommand($query, $connection)
$connection.Open()
$NewID = $command.ExecuteScalar() 
$connection.Close()
echo $NewID

而且它运行良好,很好。说我想INSERT A ROW。我是否需要最后3行可能使用$command.method()中的另一种方法?查询实际在哪一行执行?

问题2:如果我想将整个结果集获取到PowerShell,我应该使用什么方法?

如果要执行没有结果的查询(如INSERT(,可以使用ExecuteNonQuery

$command.ExecuteNonQuery()

如果要返回非标量结果,请使用ExecuteReader。

###...your code up to $NewID = ...
$rdr = $command.ExecuteReader(1)
#get-type $rdr
$dt = new-object system.data.datatable
$dt.load($rdr)
$dt | out-gridview

最新更新