まとまりのないブログ

something which something is something

delphi firebird

sqlite3とfirebirdどちらをdelphiで使うか

投稿日:

また迷ってきた。TStringGridを使うならsqliteでも別に構わないということに気づいた。そもそもfirebirdを使うことにしたのはDBGridにselect文の結果データセットを上手くバインドできなかったからで、DBGridを使わないということならsqliteを使うことを検討してもいいことになる。

sqliteのメリット

  • auto incrementが使える
  • データベースファイルをコードから作成できる
  • firebirdよりも高速(らしい)
  • データベースを管理するソフトウェアが豊富
  • 技術情報が多い

firebirdのメリット

  • varchar型が使える(DBGridを使うならそのまま表示することができる)
  • ユーザーとパスワードが設定できる
  • sqliteよりもデータ型が多い
  • delphiのinterbase系のコンポーネントとの親和性が高い

sqliteのデメリット

  • 文字列型がtext型(DBGridを使う場合は一工夫必要になる)
  • ユーザとパスワードの設定が無い
  • TStringGridにデータをバインディングする場合は、カラムの文字列の位置(左寄せ、右寄せ、中央)などの設定がないので自らコーディングしなければならない。(これ、TSTringGridを使う人には結構致命的)

firebirdのデメリット

  • データベースファイルを作成するのが面倒
  • SQLの文法がとっつきにくい
  • auto increment が無いのでトリガーとジェネレータを作成しなければならない

感想

高度なデータベース操作ができない私にとっては、auto incrementの有無は結構大きなポイントだったりする。ソフトウェアのDBをバージョンアップしたりするときにテーブルを追加する度にジェネレータとトリガーを追加しなければならないというのは、結構なストレスになる。気分的にはfirebirdよりsqliteを使いたいという方へ傾いている。sqliteのwrapperを使ったコーディングだと、ものすごく簡単にできてしまう。

-delphi, firebird

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

delphiで組み込みデータベースを使うときの候補

調べた範囲では3つ sqlite firebird Microsoft Access それぞれのコネクションに使うコンポーネント sqlite delphi用のフリーのsqlite wrapper h …

no image

TDBGridとTStringGrid

IBQueryやIBDatasetで開いたテーブルをそのまま表示するなら、DBGridでやれば簡単だが、select文を実行した結果のテーブルセットにちょっと手を加えようと思ったらStringGrid …

no image

Delphi 文字列の置換

StringReplace関数というものがあるのか。結構探してしまったが。usesにSystem.SysUtilsを追加で使える。日付の2012/04/01を2012-04-01に変換するのに使った。 …

Delphi – イベントログへの出力

Delphiのイベントログへの出力について。変数のちょっとした確認などに。 str := ‘test’; OutPutDebugString(PChar(str));

no image

DelphiのDBgridのmultiselect

DBGrigのmultiselectプロパティをtrueに設定してみてもマウスドラッグでマルチセレクトされないから何か他の設定方法があるのかとおもいきや、操作方法が難しいだけだった。 – …