前回は SQLiteでInsert文を使用する方法について説明しました。
データを追加したら、やはり取得できなくては意味がないですね。
ということで、今回はSELECT文を使用する方法について説明します。
INSERT文の時と異なる部分は、ヒア文字列の中身がSELECT文になるということ、
コマンドの実行が、ExecuteNonQueryからExecuteReaderに代わることです。
ExequteRederは実行したSQL文で影響を受けた行が返されます。
戻り値のReadメソッドを実行すると、SQL文に合致するレコードの有無がわかるので、While文でループして各データの取り出しを行います。
[void][System.Reflection.Assembly]::LoadFile("C:\Work\DB\System.Data.sqlite.dll")
$sqlite = New-Object System.Data.SQLite.SQLiteConnection
$sqlite.ConnectionString = "Data Source = C:\Work\DB\data.db"
$sqlite.Open()
#SELECT文
$cmd = @"
SELECT * FROM USER
"@
$sqlcmd = New-Object System.Data.SQLite.SQLiteCommand
$sqlcmd.Connection = $sqlite
$sqlcmd.CommandText = $cmd
$record = $sqlcmd.ExecuteReader()
while ( $record.Read() )
{
write ("{0}`t{1}" -f $record[0], $record[1])
}
$sqlite.Close()

コメント