TSQLite3Connection/ja

From Lazarus wiki
Jump to navigationJump to search

English (en) français (fr) 日本語 (ja) polski (pl)

データベースのポータル

参照:

チュートリアル/練習となる記事:

各種データベース

Advantage - MySQL - MSSQL - Postgres - Interbase - Firebird - Oracle - ODBC - Paradox - SQLite - dBASE - MS Access - Zeos
Light bulb  Note: TSQLite3Connection を使う代わりに、プロキシライクな TSQLConnector/ja を使うことで、より一般的なデータベースアプリケーションを作ることができます。

TSQLite3Connection tsqlite3connection.pngSQLite/jaを使うためのデータベース接続コンポーネントです。これらのコンポーネントは、Component Palette/jaSQLdb tab/ja にあります。

TSQLite3connection は FCL (LCLではなく) の 非ビジュアルコンポーネントであり、Lazarus の GUI と同様に、(例えば) ObjectPascal やコンソールアプリケーションに用いることができます。残念ながら TSQLite3Connection についての FCL ドキュメントはありません。しかし、そのインターフェイスは親クラスの( TSQLConnection/ja )とほぼ同じです。SQLite は組み込みのまたは非サーバー型のデータベースであるので、 その利用にあたっては、.host や .username、また .password の設定は不要です。サンプルとして、ObjectPascal のプログラムではどのように利用するかを以下に示します。 Lazarus GUI より用いる場合は、同様な設定を オブジェクトインスペクターから行えます。

(訳注;以下を実行する前に SQLite をインストールする必要がありますが、その際に、Lazarus と同じcpu向け(つまり、32bit(x86)用か64bit用か) のSQLiteを用いる必要があります。※たぶん) (訳注;2度目の実行時には、「TBLNAMESのテーブルは作成済み」というエラーメッセージが表示されると思います。)

program BasicDBase;
{$mode objfpc} {$ifdef mswindows}{$apptype console}{$endif}
uses
  sqldb, sqlite3conn;
var
    Connect : TSQLite3Connection;
    Trans : TSQLTransaction;

begin
    Connect := TSQLite3Connection.Create(nil);
    Trans := TSQLTransaction.Create(Connect);
    Connect.Transaction := Trans;
    Connect.DatabaseName := 'test_dbase';
    Trans.StartTransaction;  // データベースへの接続を行います。SQLite をインストールしていない場合、EInOutError が起きます。
    Connect.ExecuteDirect('create table TBLNAMES (ID integer Primary Key, NAME varchar(40));');
    Trans.Commit;
    Trans.Free;
    Connect.Free;
end.


ExecuteDirect() プロシージャは SQLコールに対して限定的なものであるため、実際のアプリケーションでは、おそらく TSQLQuery のようなものが必要となるでしょう。 また、上記デモはエラーチェックをしていないことを念頭においてください。

関連情報

Template:LCL Components/ja