sql - Powershell SQL SELECT 输出到变量

标签 sql powershell

我正在调用一个函数来查询 SQL 表。我只需要一个单元格的结果。
我无法成功地将单元格数据从函数中检索到变量中。

例如,如果我有一个包含以下内容的表:

    FeedID    Name    Address
    15        Bill    Jones

我需要将“15”的 FeedID 值捕获到一个变量中。
我的 SQL 语句只捕获 FeedID 但我不知道如何提取值

这是我到目前为止所拥有的:
    function Invoke-SQL {
    param(
    [string] $dataSource = "10.0.100.1",
    [string] $database = "Database123",
    [string] $sqlCommand = $("SELECT [FeedID] FROM [dbo].[FeedList] WHERE [FeedFileName] = 'filename.txt'")
    )

    $connectionString = "Data Source=$dataSource; " + "Integrated Security=SSPI; " + "Initial Catalog=$database"
    $connection = new-object system.data.SqlClient.SQLConnection($connectionString)
    $command = new-object system.data.sqlclient.sqlcommand($sqlCommand,$connection)
    $connection.Open()

    $adapter = New-Object System.Data.sqlclient.sqlDataAdapter $command
    $dataset = New-Object System.Data.DataSet
    write-output $adapter.Fill($dataSet) | Out-Null

    $connection.Close()
    $dataSet.Tables
    }

    $FeedID = Invoke-SQL
    $FeedID

最佳答案

或者,如果您正在寻找简单的返回值而不是稍后处理的表,您可以使用以下代码。

[string] $Server= "10.0.100.1",
[string] $Database = "Database123",
[string] $SQLQuery= $("SELECT [FeedID] FROM [dbo].[FeedList] WHERE [FeedFileName] = 'filename.txt'")

function GenericSqlQuery ($Server, $Database, $SQLQuery) {
    $Connection = New-Object System.Data.SQLClient.SQLConnection
    $Connection.ConnectionString = "server='$Server';database='$Database';trusted_connection=true;"
    $Connection.Open()
    $Command = New-Object System.Data.SQLClient.SQLCommand
    $Command.Connection = $Connection
    $Command.CommandText = $SQLQuery
    $Reader = $Command.ExecuteReader()
    while ($Reader.Read()) {
         $Reader.GetValue(0)
    }
    $Connection.Close()
}

关于sql - Powershell SQL SELECT 输出到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22714531/

相关文章:

sql - 尝试使用行号函数添加值和最大值

MySQL - 查找不同 ID 的行之间的时间差

powershell - system() 在 vi​​m 中使用 powershell

powershell - 使用参数对象调用 Powershell 函数

sql - Stack Overflow 数据库 - 成对的用户系统地评论相同的帖子

mysql - 即使 where 条件失败,也从表 1 左连接表 2 返回记录

powershell - 如何在powershell中提示以不同用户身份运行EXE

powershell - 如何连接字符串并转换为大写

java - 如何多线程更新由sql代码更新的数据库?

powershell - 英语非美国文化问题