2017/03/05

[PowerShell] SQL Server データベースに ADO.NET の名前付きパラメータでデータを読み込む


PowerShell から .NET Framework のライブラリを呼び出して、SQL Server データベースから ADO.NET の名前付きパラメータでデータを読み込むサンプルを提示します。

SQL Server は SQL Server 2016 Express Edition になります。

読み込むテーブルは Test データベースの USERS テーブルです。テーブルイメージは以下のようになります(ID、NAME とも型は NVARCHAR(50)です)。

Uers

実際の PowerShell のコードは以下のようになります。

#
#  PowerShell から ADO.NET の名前付きパラメータで SQL Server のデータを読み込む
#


# 接続文字列の宣言
$connectionString = "Server=localhost\SQLEXPRESS;Database=Test;Integrated Security=SSPI;"

# データベースの接続を宣言
$con = New-Object -TypeName System.Data.SqlClient.SqlConnection $connectionString

# 名前付きパラメータ付き SQL を宣言
$sql = "SELECT * FROM USERS WHERE ID = @ID"

# コマンドを宣言
$command = New-Object -TypeName System.Data.SqlClient.SqlCommand $sql, $con

# コマンドにパラメータの値を設定
[void]$command.Parameters.AddWithValue("@ID","001")

# 接続をオープン
$con.Open()

# データを読み込み
$reader = $command.ExecuteReader()


# 1件しかないがレコードの最後までループする
While ($reader.Read()) {

  Write-Host $reader["ID"]  ":"  $reader["NAME"]

}


# DataReader を閉じる
$reader.Close()

# 接続を閉じる
$con.Close()

実行結果は以下のようになり、このソースは正しく動作していることが分かります。

001 : 山田太郎


スポンサーリンク


このエントリーをはてなブックマークに追加




Twitter ではブログにはない、いろんな情報を発信しています。


コメント

コメントを書く



プロフィール

  • 名前:fnya
    経歴:
    SE としての経験は15年以上。様々な言語と環境で業務系システム開発を行い、セキュリティ対策などもしていました。現在は趣味SE。

    Twitter では、ブログでは取り上げない情報も公開しています。


    ブログについて

    このブログは、IT、スマートフォン、タブレット、システム開発などに関するさまざまな話題を取り上げたり、雑感などをつづっています。

    >>ブログ詳細
    >>自作ツール
    >>運営サイト
    >>Windows 10 まとめ

    Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから