まとまりのないブログ

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 DBGridのデータが(WIDEMEMO)と表示される

DelphiのDBGridはlong varchar型をサポートしていないために表示させようとするとWIDEMEMOという表示になってしまう。回避するには、OnGetTextイベントで値を文字列として …

Delphi – 実行中のディレクトリを取得

アプリケーションが実行中のディレクトリを取得。exeファイルのある場所。 val := ExtractFilePath(Application.ExeName);

no image

Delphi OnGetTextイベント

OnGetTextイベントという名前だけは知っていたが、それがどのコンポーネント(?)のイベントなのかわからなかったので使い方がどうのまで進めなかった。OnGetTextイベントはTFieldが持って …

no image

DelphiのDBgridのmultiselect

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

no image

Delphi DBGridのカラムの右寄せと左寄せと中央寄せ

alignmentプロパティに入れる定数がわからなかったので備忘録。 左寄せ taLeftJustify 中央寄せ taCenter 右寄せ taRightJustify 使い方は DBGrid3.C …