2017-05-31 10 views
0

SQL Serverから2つの異なるクエリからデータを取得し、その結果をPowershell ISEに表示しようとしています。 2番目のデータセットが表示されないか、またはquery2の列がquery1の列に追加されて表示されるかどうかに関係なく、Powershellデータセットからテーブル構造をクリアする方法

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection 
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter 
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand 
$DataSet = New-Object System.Data.DataSet 

$SqlConnection.ConnectionString = "MyConnectionString" 

Write-output `r`r "Query 1" 

$SQLQuery = "SELECT columnset 
       FROM table1;" 

$SqlConnection.Open() 
$SqlCmd.CommandText = $SQLQuery 
$SqlCmd.Connection = $SqlConnection 
$SqlAdapter.SelectCommand = $SqlCmd 
$DataSet = New-Object System.Data.DataSet 
$SqlAdapter.Fill($DataSet) 
$DataSet.Tables[0] 
$SqlConnection.Close() 

Write-output `r`r "Query 2" 

$SQLQuery2 = "SELECT columnset 
       FROM table2;" 

$SqlConnection.Open() 
$SqlCmd.CommandText = $SQLQuery 
$SqlCmd.Connection = $SqlConnection 
$SqlAdapter.SelectCommand = $SqlCmd 
$SqlAdapter.Fill($DataSet) 
$DataSet.Tables[0] 
$SqlConnection.Close() 

私が使用する列だけが返されるように、データセットの使用の間にテーブル構造をクリアするにはどうすればよいですか?

+0

のようなものを試してみてください? –

+0

@Mathias R. Jessen - 毎回新しいデータセットを宣言しようとしましたが、私はまだデータセットを画面に表示することを拒否しました。 – Lumpy

+0

2番目のレコードセットのレコード数が表示されます。データが返されません – Lumpy

答えて

0

はちょうど各クエリの間に新しい `DataSet`を作成しないのはなぜこの

$SqlConnection = New-Object System.Data.SqlClient.SqlConnectio 
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand 


$SqlConnection.ConnectionString = "MyConnectionString" 

Write-output `r`r "Query 1" 

$SQLQuery = "SELECT columnset FROM table1;" 

$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter 
$DataSet = New-Object System.Data.DataSet 
$SqlConnection.Open() 
$SqlCmd.CommandText = $SQLQuery 
$SqlCmd.Connection = $SqlConnection 
$SqlAdapter.SelectCommand = $SqlCmd 
$SqlAdapter.Fill($DataSet) 
$DataSet.Tables[0] 
$SqlConnection.Close() 

Write-output `r`r "Query 2" 

$SQLQuery2 = "SELECT columnset FROM table2;" 

$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter 
$DataSet = New-Object System.Data.DataSet 
$SqlConnection.Open() 
$SqlCmd.CommandText = $SQLQuery 
$SqlCmd.Connection = $SqlConnection 
$SqlAdapter.SelectCommand = $SqlCmd 
$DataSet = New-Object System.Data.DataSet 
$SqlAdapter.Fill($DataSet) 
$DataSet.Tables[0] 
$SqlConnection.Close() 
関連する問題