Event-Horizon NL

12/05/2011

SQLite gebruiken in Powershell

Filed under: Powershell — Michel @ 13:41
Tags: ,

SQLite is een kleine lichtgewicht database, waarbij de database opgeslagen wordt in een file. Het hele systeem bestaat uit een DLL en er is ook een ADO.Net versie. Deze ADO.Net versie is heel simpel vanuit Powershell te gebruiken.

Hier een script om een database aan te maken:

Add-Type -Path “C:\Program Files\System.Data.SQLite\bin\System.Data.SQLite.dll”

$cn = New-Object -TypeName System.Data.SQLite.SQLiteConnection
$cn.ConnectionString = “Data Source=C:\Event-horizon\Temp\test.db;New=True;”
$cn.Open()

$cm = New-Object -TypeName System.Data.SQLite.SQLiteCommand
$sql = “create table ConnectNet(idKey INTEGER PRIMARY KEY, Sender varchar(50), Recipient varchar(50));”
$cm.Connection = $cn
$cm.CommandText = $sql
$cm.ExecuteNonQuery()
$cn.Close()

Een script om data toe tevoegen aan de database:

Add-Type -Path “C:\Program Files\System.Data.SQLite\bin\System.Data.SQLite.dll”

$cn = New-Object -TypeName System.Data.SQLite.SQLiteConnection
$cn.ConnectionString = “Data Source=C:\Event-horizon\Temp\test.db”
$cn.Open()

$cm = New-Object -TypeName System.Data.SQLite.SQLiteCommand
$sql = “insert into ConnectNet values(1,’aa1@aaa.net’,’b1bbb@bbb.nl’);”

$cm.Connection = $cn
$cm.CommandText = $sql
$cm.ExecuteNonQuery()
$cn.Close()

En een script om de data uit te lezen:

Add-Type -Path “C:\Program Files\System.Data.SQLite\bin\System.Data.SQLite.dll”

$cn = New-Object -TypeName System.Data.SQLite.SQLiteConnection
$cn.ConnectionString = “Data Source=C:\Event-horizon\Temp\test.db”
$cn.Open()

$cm = New-Object -TypeName System.Data.SQLite.SQLiteCommand
$dt = new-object “System.Data.DataTable”
$sql = “select * from ConnectNet;”
$cm.Connection = $cn
$cm.CommandText = $sql
$dr = $cm.ExecuteReader()
$dt.Load($dr)

$cn.Close()
$dt | Format-Table

Blog op WordPress.com.