.net - 使用 PowerShell 从 SQL Server 获取整行
问题描述
所以我用来ExecuteScalar()
从表中获取一个值。但是我怎样才能获得多个值,即来自多个列的值。
$connectionString = "Data Source=ServerName;Initial Catalog=DB_Name; Integrated Security=SSPI"
$connection = New-Object -TypeName System.Data.SqlClient.SqlConnection($connectionString)
$query = "select col1, col2, col3 from table where col1= x;"
$command = New-Object -TypeName System.Data.SqlClient.SqlCommand($query, $connection)
$connection.Open()
$NewBatchID = $command.ExecuteScalar()
$connection.Close()
解决方案
在 PowerShell 中使用 .NET 对象的一种方法是使用SqlDataAdapter
. 这可以将多行和多列加载到 aDataTable
中以供后续使用。
此示例假设返回单行:
$connectionString = "Data Source=ServerName;Initial Catalog=DB_Name; Integrated Security=SSPI"
$query = "select col1, col2, col3 from table where col1= x;"
$sqlDataAdapter = New-Object -TypeName System.Data.SqlClient.SqlDataAdapter($query, $connectionString)
$dataTable = New-Object -TypeName System.Data.DataTable
[void]$sqlDataAdapter.Fill($dataTable)
$col1 = $dataTable.Rows[0]["col1"]
$col2 = $dataTable.Rows[0]["col2"]
$col3 = $dataTable.Rows[0]["col3"]
推荐阅读
- excel - 如果 g4 包含文本,我想转到 G20,我有下面的代码,但需要想法
- xml - AEM 的 .content.xml 要求
- javascript - 如何将此 if 语句更改为三元运算符?
- angular - Angular 6子通过路由器插座与父交互
- mysql - 在 MySQL 中使用用户声明的变量进行条件过滤
- python - SSLContext 挂在 python 3.6.3 中
- javascript - Neo4j 在 Node.js 代码中的 MERGE 调用中复制节点
- java - 如何自动确定单词的类型
- python - 使用 discord.py 使用 Python 向 Discord 发送消息
- javascript - 堆栈:WebDriverError:元素不可交互 - Protractor e2e