Difference between revisions of "TSQLite3Connection/ja"
Miyatakejiro (talk | contribs) (Created page with "{{TSQLite3Connection/ja}} {{Infobox databases/ja}} {{Note|Instead of using a TMySQLite3Connection a proxy-like TSQLConnector may be used to create more generic database a...") |
|||
(9 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | {{TSQLite3Connection | + | {{TSQLite3Connection}} |
{{Infobox databases/ja}} | {{Infobox databases/ja}} | ||
− | {{Note| | + | {{Note| TSQLite3Connection を使う代わりに、プロキシライクな [[TSQLConnector/ja]] を使うことで、より一般的なデータベースアプリケーションを作ることができます。}}'''TSQLite3Connection''' [[image:tsqlite3connection-n.png]] は [[SQLite/ja]]を使うためのデータベース接続コンポーネントです。これらのコンポーネントは、[[Component Palette/ja]] の [[SQLdb tab/ja]] にあります。 |
− | TSQLite3connection | + | TSQLite3connection は FCL (LCLではなく) の 非ビジュアルコンポーネントであり、Lazarus の GUI と同様に、(例えば) ObjectPascal やコンソールアプリケーションに用いることができます。残念ながら TSQLite3Connection についての FCL ドキュメントはありません。しかし、そのインターフェイスは親クラスの( [[TSQLConnection/ja]] )とほぼ同じです。SQLite は組み込みのまたは非サーバー型のデータベースであるので、 |
− | + | その利用にあたっては、.host や .username、また .password の設定は不要です。サンプルとして、ObjectPascal のプログラムではどのように利用するかを以下に示します。 | |
− | Lazarus | + | Lazarus GUI より用いる場合は、同様な設定を オブジェクトインスペクターから行えます。 |
− | <syntaxhighlight> | + | (訳注;以下を実行する前に SQLite をインストールする必要がありますが、その際に、Lazarus と同じcpu向け(つまり、32bit(x86)用か64bit用か) のSQLiteを用いる必要があります。※たぶん) |
+ | (訳注;2度目の実行時には、「TBLNAMESのテーブルは作成済み」というエラーメッセージが表示されると思います。) | ||
+ | |||
+ | <syntaxhighlight lang=pascal> | ||
program BasicDBase; | program BasicDBase; | ||
{$mode objfpc} {$ifdef mswindows}{$apptype console}{$endif} | {$mode objfpc} {$ifdef mswindows}{$apptype console}{$endif} | ||
Line 22: | Line 25: | ||
Connect.Transaction := Trans; | Connect.Transaction := Trans; | ||
Connect.DatabaseName := 'test_dbase'; | Connect.DatabaseName := 'test_dbase'; | ||
− | Trans.StartTransaction; // | + | Trans.StartTransaction; // データベースへの接続を行います。SQLite をインストールしていない場合、EInOutError が起きます。 |
Connect.ExecuteDirect('create table TBLNAMES (ID integer Primary Key, NAME varchar(40));'); | Connect.ExecuteDirect('create table TBLNAMES (ID integer Primary Key, NAME varchar(40));'); | ||
Trans.Commit; | Trans.Commit; | ||
Line 31: | Line 34: | ||
− | + | ExecuteDirect() プロシージャは SQLコールに対して限定的なものであるため、実際のアプリケーションでは、おそらく TSQLQuery のようなものが必要となるでしょう。 | |
− | + | また、上記デモはエラーチェックをしていないことを念頭においてください。 | |
− | == | + | ==関連情報== |
* [[TSQLConnector/ja]] | * [[TSQLConnector/ja]] | ||
* [[SQLite/ja]] | * [[SQLite/ja]] | ||
− | {{LCL Components}} | + | {{LCL Components/ja}} |
Latest revision as of 07:47, 31 March 2024
│
English (en) │
español (es) │
français (fr) │
日本語 (ja) │
polski (pl) │
参照: チュートリアル/練習となる記事: 各種データベース |
TSQLite3Connection は SQLite/jaを使うためのデータベース接続コンポーネントです。これらのコンポーネントは、Component Palette/ja の SQLdb 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 のようなものが必要となるでしょう。
また、上記デモはエラーチェックをしていないことを念頭においてください。
関連情報