Database マニュアル · Chapter 4

DB Studio — SQL · Data タブで検証

スクリプトでコードを書く前に、DB Studio の 2 つのタブで接続とデータを直接確認しておくのを推奨します。同じ SQL を 2 回実行して同じ結果が出ることを確認してから、スクリプトに移す流れです。

xscript
Solution Explorer
├── Data Editor Pages
└── Database                       ← Data Editor Pages と同じ最上位レベル
    ├── Database Connections       (第 2 章)
    ├── Database Studio            ← 本章
    │   ├── Structure タブ          (第 3 章で見たテーブル / カラムツリー)
    │   ├── Data タブ               (行単位の閲覧 — 読み取り専用)
    │   └── SQL タブ                (SQL 自由実行)
    └── Database Events            (第 8 章)

左側ツリーで local 接続を選んだ上でタブを切り替えます。

SQL タブ — 自由実行

上部の入力欄に SQL を書き、[Run] ボタンまたは F5 で実行します。

サンプルプロジェクトでよく使う SQL:

sql
-- 全行数
SELECT COUNT(*) FROM order_history;
 
-- 最近 5 件
SELECT id, order_no, menu_name, result, end_time
FROM   order_history
ORDER  BY id DESC
LIMIT  5;
 
-- 結果別集計
SELECT result, COUNT(*) AS cnt
FROM   order_history
GROUP  BY result;
 
-- エラーのみ
SELECT id, order_no, menu_name, weight_g
FROM   order_history
WHERE  is_error = 1;

スクリプト側の RunSqlSelect / RunSqlScalarInt は、このタブで動く SQL をそのまま受け取ります。ここで通った SQL だけスクリプトに移す習慣 をつけると、デバッグ時間が大きく減ります。

結果エリア

エリア内容
結果グリッドSELECT 結果行 — カラム名・値・ソートを表示
ステータスメッセージSELECT は N row(s) returned. (ms ms)、INSERT / UPDATE / DELETE は N row(s) affected. (ms ms)
実行時間上のメッセージの (ms ms) で応答性を確認

Data タブ — 行単位の閲覧(読み取り専用)

左側ツリーでテーブルを選ぶと、そのテーブルの行を表として閲覧できます。このバージョンでは Data タブは読み取り専用で、次のコントロールで表示する行を絞り込みます。

  • WHERE 入力欄 — フィルタ条件(例: is_error = 1)。空なら全行。
  • Page Size — 一度に取得する最大行数(既定 100)。
  • [Load] ボタン — 上記条件で行を読み直してグリッドに表示。

画面下部に 「Data editing is read-only in this version. Use SQL tab for INSERT/UPDATE/DELETE.」 という案内があります。 INSERT / UPDATE / DELETE はすべて SQL タブ で行います。

おすすめの用途:

  • WHERE フィルタで特定条件の行だけをすばやく確認
  • スクリプト結果(例: DB_UpdateSelected 後)が実際に DB に反映されたかを目視確認
  • テーブルが空か、データが入っているかを確認

検証フロー — 推奨順序

  1. Connectionslocal が正常に登録されているか確認(第 2 章)
  2. Structure タブで order_history テーブルが見えるか確認(第 3 章)
  3. Data タブで [Load] して現在の行を閲覧(WHERE でフィルタ可)
  4. SQL タブで上記 4 つのクエリを実行し結果確認
  5. 空ならば以下を SQL タブで実行して 1 行入れておく:
sql
INSERT INTO order_history(order_no, menu_name, start_time, end_time, weight_g, result, is_error)
VALUES('O0001', 'Americano', '2026-01-01 09:00:00', '2026-01-01 09:00:30', 250, 'Done', 0);

この 5 ステップが終われば、次はスクリプトです。