【问题标题】:How to return the value of a row, without column name in a query?如何在查询中返回没有列名的行的值?
【发布时间】:2016-03-07 19:48:12
【问题描述】:

我正在编写一个 Powershell 脚本,该脚本通过 SQLPS 模块提取数据,直接对 SQL Server 执行查询。如果我做一个简单的

Select <column A> from <table B>

我也列出了列,如下所示:

Column A
--------
Value C

这里我希望只检索值 C,将其存储为变量。

【问题讨论】:

  • 为什么只有“C 值”?是不是因为是第2排?因为另一个列值?
  • "Value C" 只是不好的命名。这只是一个值。选择语句会有所不同,但问题是我只想要列出的值,而不是列名,当我将它传递给其他地方时,例如一个文本文件。 PS 中的 >> 将两者都传递到文件中。
  • 这可能对您的查询有所帮助stackoverflow.com/questions/23221532/…

标签: sql sql-server powershell


【解决方案1】:

如果您不一定要使用此 SQLPS 模块,那么这可能是一种更简单的方法:

$connection = new-object System.Data.SqlClient.SqlConnection("Data Source=.;Initial Catalog=TestDB;Integrated Security=True");
$connection.Open()

$query = "SELECT [A] FROM [dbo].[Tablename]"
$cmd = new-object "System.Data.SqlClient.SqlCommand" ($query, $connection)
$cmd.CommandTimeout = 0

$executeReader = $cmd.ExecuteReader()

while ($executeReader.Read()) { 
    $Name = $executeReader.GetValue(0)
    //Do what you desire with the resultset.
    $Name + "`r`n" >> D:\PathToResultFolder\result.txt
}

$executeReader.Close()
$connection.Close()

另外,我阅读并认为这应该在查询之外处理,因为查询不显示列名是不正常的。

【讨论】:

    猜你喜欢
    • 2017-11-11
    • 1970-01-01
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多