我在执行两个SQL查询时遇到问题。我想运行第一个查询并将结果用作第二个查询的输入,但这不起作用。据我所知,如果我只执行一个查询,我会得到正确的结果。如果我执行两个查询,则第一个查询是正确的,但第二个查询只是第一个查询的一部分。
这是我的代码:
function SQLSelect($SqlQuery) {
$SQLServer = "server"
$SQLDBName = "storage"
$uid = "test"
$pwd = "test"
$connectionString = "Server=$SQLServer;Database=$SQLDBName;User ID=$uid;Password=$pwd;"
$connection = New-Object System.Data.SqlClient.SQLConnection($connectionString)
$connection.Open()
$command = New-Object System.Data.SqlClient.SqlCommand($SqlQuery, $connection)
$adapter = New-Object System.Data.SqlClient.SqlDataAdapter $command
$dataset = New-Object System.Data.DataSet
$adapter.Fill($dataSet) | Out-Null
return $dataSet
}
$SqlQuery1 = "SELECT [Date] FROM [Statistics] ORDER BY Date DESC"
$result1 = SQLSelect($SqlQuery1)
$result1.Tables
$SqlQuery2 = "SELECT * FROM [Statistics] WHERE Date = '2017-02-16'"
$result2 = SQLSelect($SqlQuery2)
$result2.Tables
这就是我得到的:
Date ---- 16.03.2017 00:00:00 16.02.2017 00:00:00 16.01.2017 00:00:00 16.02.2017 00:00:00
这是我在单独运行查询时得到的结果:
查询1:
Date ---- 16.03.2017 00:00:00 16.02.2017 00:00:00 16.01.2017 00:00:00
查询2:
ID : 1 STWnumber : test MailboxSize : 1131 ItemCount : 8395 Date : 16.02.2017 00:00:00 MailboxDatabase : NoLimit Server : server