5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

報告: c# で学習用SQL用エディタを作ってみた

Posted at

はじめに

普段、SQLを扱うときは A5:SQL Mk-2 などの素晴らしいツールにお世話になっています。
ただ、これらは機能がとても豊富な反面、初心者には少しハードルが高いと感じることがあります。

でもって、日曜開発で C#でシンプルな学習用SQLエディタを作ってみました。


目指した方向性

  • 起動したらすぐ使える
    インストール不要・設定不要。
  • UIはN88BASICくらいシンプルに
    機能過多ではなく、操作感重視。
    ※学習用といえば N88BASIC ですよね、って誰かが言ってた
  • “SQLを書く楽しさ”を感じられるエディタ
    カラフルなのはとてもいいと思います。

使用技術とパッケージ

💡 AvalonEdit

テキストエディタ部分は AvalonEdit を採用。
シンタックスハイライトやフォールディングなど高機能すぎてビビります。
自作エディタとしての自由度が非常に高く、柔軟にカスタマイズできます。

📦 CsvHelper

結果をCSVとして保存するために CsvHelper を使用。
業務でもめちゃめちゃお世話になってます。信頼性と速度のバランスが良いお気に入りのパッケージです。

⚙️ Dapper

データアクセスにはみんな大好き Dapper を使用。
ORMを使うほどでもない軽量なアプリにはちょうどいいです。


実装した主な機能

分類 内容
ファイル操作 SQLファイルの開く・保存
出力 クエリ結果をCSVエクスポート
表示 フォントサイズ・カラー変更
エディタ機能 簡易整形、シンタックスハイライト
補助機能 テーブル名・カラム名の簡易候補表示

機能は最小限ですが、「SQLを打ち込んで、結果を見る」ことに集中できる設計を目指しました。
初版なのでバグ出しはこれからです。

画面イメージ

こんな感じです。

  • 上段にSQL入力エリア
  • 下段に結果表示(DataGrid)
  • 右にテーブル一覧
  • CSV出力や整形はメニューから実行

今後の課題

  • 構文補完の精度向上
  • 設定保存機能(フォントサイズ・配色など)
  • クエリ履歴の管理
  • SQL Server や Oracle、PostgreSQL に対応するのは、だいぶん先

まとめ

「学習用SQLエディタ」として、最低限の操作でSQLを実行・確認できる環境を目指して作ってみました。
業務に使えるぐらい作りこめたらいいなと思っています。


ソースコード


おわりに

AvalonEditやCsvHelper、Dapperといった素晴らしいライブラリのおかげで、
思っていたよりも簡単にここまで作ることができました。

興味がある方は試してみてください。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?