powershell:sqlite
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| powershell:sqlite [2025/08/23 01:26] – mikoto | powershell:sqlite [2025/09/23 21:32] (現在) – mikoto | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ====== | + | ====== SQLiteでデータベースを作成する |
| [[: | [[: | ||
| - | ===== Tips ===== | + | |
| + | データベースの作成時、更新、削除時にはExecuteNonQuery()を使用し、 | ||
| + | 読み出しの際はExecuteReader()を使用する。 | ||
| <code powershell> | <code powershell> | ||
| # sqlite3.dll を読み込む | # sqlite3.dll を読み込む | ||
| - | Add-Type -Path ".\System.Data.SQLite.dll" | + | $workPath = " |
| + | Add-Type -Path "$workPath\System.Data.SQLite.dll" | ||
| - | # DBの接続文字列 | + | |
| - | $dbFile = ".\test.db" | + | # DBのファイルパス(無ければ新規作成) |
| + | $dbFile = "$workPath\test2.db" | ||
| $connectionString = "Data Source=$dbFile; | $connectionString = "Data Source=$dbFile; | ||
| + | |||
| + | if (-not (Test-Path $dbFile)) { | ||
| + | [System.Data.SQLite.SQLiteConnection]:: | ||
| + | } | ||
| # SQLite 接続オブジェクトを作成 | # SQLite 接続オブジェクトを作成 | ||
| - | $connection | + | $conn = New-Object System.Data.SQLite.SQLiteConnection($connectionString) |
| - | $connection.Open() | + | $conn.Open() |
| + | |||
| + | # コマンドオブジェクト | ||
| + | $cmd = $conn.CreateCommand() | ||
| # テーブル作成 | # テーブル作成 | ||
| - | $createTableSql | + | $cmd.CommandText |
| CREATE TABLE IF NOT EXISTS users ( | CREATE TABLE IF NOT EXISTS users ( | ||
| - | | + | |
| - | name TEXT NOT NULL, | + | name |
| - | email TEXT | + | |
| + | | ||
| ); | ); | ||
| "@ | "@ | ||
| + | $cmd.ExecuteNonQuery() | ||
| + | |||
| + | Write-Host " | ||
| + | |||
| + | # サンプルデータを挿入 | ||
| + | $cmd.CommandText = " | ||
| + | $cmd.ExecuteNonQuery() | ||
| + | |||
| + | $cmd.CommandText = " | ||
| + | $cmd.ExecuteNonQuery() | ||
| + | |||
| + | Write-Host " | ||
| + | |||
| + | # データを読み出し | ||
| + | $cmd.CommandText = " | ||
| + | $reader = $cmd.ExecuteReader() | ||
| - | $command = $connection.CreateCommand() | + | Write-Host " |
| - | $command.CommandText = $createTableSql | + | while ($reader.Read()) { |
| - | $command.ExecuteNonQuery() | + | |
| + | } | ||
| + | $reader.Close() | ||
| - | Write-Output " | + | # 接続を閉じる |
| + | $conn.Close() | ||
| - | #DB 接続を閉じる | ||
| - | $connection.Close() | ||
| - | </powershell> | + | </code> |
| ===== dll ===== | ===== dll ===== | ||
powershell/sqlite.1755879998.txt.gz · 最終更新: 2025/08/23 01:26 by mikoto