Sign in Join
Wiki copytemporary

TSQLite3Connection/ja: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: TSQLite3Connection/ja

OldNewLine
1+> **Note:** TSQLite3Connection を使う代わりに、プロキシライクな [[TSQLConnector/ja]] を使うことで、より一般的なデータベースアプリケーションを作ることができます。
2+
3+**TSQLite3Connection** ![](/wiki-images/7/79/Tsqlite3connection-n.png) は [[SQLite/ja|SQLite/jaを]]使うためのデータベース接続コンポーネントです。これらのコンポーネントは、[[Component Palette/ja]] の [[SQLdb tab/ja]] にあります。
4+
5+TSQLite3connection は FCL (LCLではなく) の 非ビジュアルコンポーネントであり、Lazarus の GUI と同様に、(例えば) ObjectPascal やコンソールアプリケーションに用いることができます。残念ながら TSQLite3Connection についての FCL ドキュメントはありません。しかし、そのインターフェイスは親クラスの( [[TSQLConnection/ja]] )とほぼ同じです。SQLite は組み込みのまたは非サーバー型のデータベースであるので、 その利用にあたっては、.host や .username、また .password の設定は不要です。サンプルとして、ObjectPascal のプログラムではどのように利用するかを以下に示します。 Lazarus GUI より用いる場合は、同様な設定を オブジェクトインスペクターから行えます。
6+
7+(訳注;以下を実行する前に SQLite をインストールする必要がありますが、その際に、Lazarus と同じcpu向け(つまり、32bit(x86)用か64bit用か) のSQLiteを用いる必要があります。※たぶん) (訳注;2度目の実行時には、「TBLNAMESのテーブルは作成済み」というエラーメッセージが表示されると思います。)
8+
9+``` pascal
10+program BasicDBase;
11+{$mode objfpc} {$ifdef mswindows}{$apptype console}{$endif}
12+uses
13+ sqldb, sqlite3conn;
14+var
15+ Connect : TSQLite3Connection;
16+ Trans : TSQLTransaction;
17+
18+begin
19+ Connect := TSQLite3Connection.Create(nil);
20+ Trans := TSQLTransaction.Create(Connect);
21+ Connect.Transaction := Trans;
22+ Connect.DatabaseName := 'test_dbase';
23+ Trans.StartTransaction; // データベースへの接続を行います。SQLite をインストールしていない場合、EInOutError が起きます。
24+ Connect.ExecuteDirect('create table TBLNAMES (ID integer Primary Key, NAME varchar(40));');
25+ Trans.Commit;
26+ Trans.Free;
27+ Connect.Free;
28+end.
29+```
30+
31+ExecuteDirect() プロシージャは SQLコールに対して限定的なものであるため、実際のアプリケーションでは、おそらく TSQLQuery のようなものが必要となるでしょう。 また、上記デモはエラーチェックをしていないことを念頭においてください。
32+
33+## 関連情報
34+
35+- [[TSQLConnector/ja]]
36+- [[SQLite/ja]]
37+
38+---
39+*From the Free Pascal wiki, page "TSQLite3Connection/ja", as it stood on 2024-03-31 after a change by Ariben, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history